2010-07-07 37 views
12

Vì vậy, có rất nhiều hướng dẫn về cách tích hợp nhiều xác thực/đăng ký mạng xã hội riêng lẻ vào tài khoản người dùng hiện có. Nhưng kịch bản tôi dường như không thể tìm ra nhiều thông tin về là nếu người dùng đăng nhập vào tài khoản của bạn với các thông tin đăng nhập mạng xã hội khác nhau. Ví dụ:Mạng xã hội (Facebook, Twitter, vv) Tích hợp tài khoản người dùng (kịch bản trùng lặp)

Kịch bản # 1 thanh ghi
người dùng trên trang web sử dụng xác thực của trang web.
Người dùng sau đó đăng nhập/đăng ký trên trang web bằng cách sử dụng Kết nối Facebook.
Người dùng sau đó đăng nhập/đăng ký trên trang web bằng cách sử dụng Twitter.

Làm cách nào để tích hợp tất cả các tài khoản này vào một tài khoản?

Rõ ràng khi người dùng được đăng ký, họ có thể thêm các liên kết mạng xã hội khác trong các trang cài đặt tài khoản. Nhưng tôi quan tâm hơn nếu họ đăng ký qua mạng xã hội khác không nhớ họ đã được thiết lập.

Suy nghĩ chung của tôi đang cố gắng tìm cách sử dụng "tên người dùng" hoặc email để thử đoán và trình bày cho người dùng cách kết hợp tài khoản ngay tại đó.

Mọi người đều có bất kỳ suy nghĩ nào?

Trả lời

4

theo dõi -

nếu người dùng của bạn không thể nhớ rằng họ đã đăng ký trước đây, tốt, tốt nhất của may mắn đối với họ nói chung;)

nhiều như bạn mô tả, tôi đang lập kế hoạch cung cấp cho người dùng tùy chọn liên kết các tài khoản bổ sung sau khi họ đã đăng nhập bằng một phương tiện hoặc phương thức khác.

nhưng theo như kiểm tra chéo, chỉ có quá nhiều thứ bạn có thể làm. nhiều API mạng xã hội thực sự cung cấp địa chỉ email (khi bạn đã truy cập qua OAuth) nhưng chúng chỉ có thể truy cập được nếu người dùng đã chọn công khai địa chỉ của họ, điều này không được bảo đảm.

cũng không được đảm bảo là người dùng đã sử dụng địa chỉ email SAME cho từng tài khoản mạng xã hội, vì vậy ngay cả khi bạn quản lý để truy xuất địa chỉ có thể hoặc không sử dụng bất kỳ cho bạn.

cuối cùng, nếu bạn tìm thấy địa chỉ email phù hợp thông qua các phương tiện như vậy, có thể được khuyến khích nhắc người dùng liên kết tài khoản thay vì giả sử anh/cô ấy muốn điều này được thực hiện tự động. một số người thích duy trì nhiều tính cách. tức là "có vẻ như bạn cũng đã đăng ký với twitter - bạn có muốn liên kết các tài khoản của mình không? nó sẽ làm cho cuộc sống của bạn có vẻ đáng sống."

bạn có thể xem xét cung cấp các ưu đãi để liên kết tài khoản người dùng hoặc cung cấp địa chỉ email (tùy thuộc vào bạn tất nhiên để tìm hiểu điều này có thể là gì, dựa trên chức năng của trang web của bạn).

giải pháp tôi đang làm việc, bên cơ sở dữ liệu, là duy trì nhiều tài khoản và sau đó nếu thông tin liên kết được phát hiện bằng nhiều cách khác nhau, liên kết được chỉ ra trong bảng tra cứu. một giải pháp thay thế là khi bạn tìm thấy liên kết, hãy cố gắng kết hợp tất cả các mục có liên quan cho nhiều tài khoản vào một thực thể tài khoản - tất cả những gì tôi có thể nói về cách tiếp cận thứ hai này là tôi sẽ thận trọng vì có thể có mức độ phức tạp ghê gớm tùy thuộc vào mức độ hoạt động của người dùng và độ phức tạp của lược đồ cơ sở dữ liệu của bạn.

trong không gian tên (tinh thần/thực tế) của tôi mà người dùng đăng ký theo cách cũ có tài khoản 'chuẩn' và một người sử dụng mạng xã hội có tài khoản 'bí danh'. thì mục tiêu trở thành để xác định nơi bí danh được cho là điểm, tức là tạo tra cứu sao cho thông tin đăng nhập tiếp theo qua hoặc nghĩa là truy xuất thông tin có liên quan cho cả hai tài khoản (với tùy chọn hiển thị dữ liệu cá nhân cho 'chuẩn' tài khoản).

btw tôi đã tìm ra cách làm cho Twitter OAuth hoạt động từ bài đăng cuối cùng của tôi - bạn có thể xem các câu trả lời khác của tôi để biết chi tiết nếu bạn quan tâm.

JB

hi mờ,

tôi đang làm việc trên cùng một vấn đề ngay bây giờ.

giả sử người dùng bắt đầu với thường xuyên tài khoản trang web (đó là không nhất thiết an toàn để giả định nếu ông thấy tất cả các khá "kết nối với XXX mạng" nút !!!), bạn có thể sử dụng một trong hai OAuth hoặc javascript API (facebookConnect hoặc @anywhere - chưa hoàn toàn tìm ra số sau đó và tôi không chắc chắn tôi khuyên bạn nên dùng nó là Tôi không nghĩ rằng nó cung cấp các API phong phú như một thư viện phụ trợ) để đăng nhập vào các trang web khác.

các API sẽ trả về một số thông tin sau một đăng nhập thành công/chuyển hướng từ mạng xã hội - chẳng hạn như ID người dùng và một thẻ truy cập mà sau đó bạn có thể lưu trữ trong cơ sở dữ liệu bạn trong một số khả năng liên kết 'thực tế của bạn 'người dùng ứng dụng có ID của mạng xã hội.

khi người dùng quay trở lại trang web, bạn có thể sau đó

1 xác minh các tập tin cookie được thiết lập bởi các dịch vụ mạng xã hội (các chương trình khác nhau thường xác minh chữ ký, dựa trên sha1 hoặc md5 hash của ứng dụng của bạn dữ liệu - theo đó tôi có nghĩa là dữ liệu bạn nhận được khi đăng ký ứng dụng với twitter/facebook, thường là khóa người dùng, ID ứng dụng, v.v. với cookie đã nhận) để bạn biết người dùng đã đăng nhập xã hội mạng

2 tìm mục nhập của bạn liên kết cơ sở dữ liệu như mô tả ở trên

3 người dùng đăng nhập của bạn tay dựa trên giả định rằng facebook/twitter kết nối được an toàn.

báo trước: điều này chỉ an toàn như triển khai của bạn (hoặc bảo mật như triển khai facebook/twitter, nếu bạn thích ...)

mặc dù OAuth twitter của hiện không có vẻ làm việc hoàn toàn đúng, mô tả chung của họ về quá trình là khá nhiều thông tin: http://dev.twitter.com/pages/auth

chúc may mắn.

J

+0

j, vui mừng khi thấy người khác đang làm việc về vấn đề này. tôi cảm thấy tôi có được kịch bản bạn mô tả, khi người dùng đăng ký tài khoản trang web lần đầu tiên và sau đó muốn đính kèm các tài khoản mạng xã hội khác, v.v. vấn đề chính của tôi là nắm bắt kịch bản khác, khi người dùng sử dụng lần đầu tiên " đăng nhập bằng các nút "XXX" mà không cần có tài khoản trang web. rõ ràng là tôi cần tự động tạo tài khoản, nhưng điều gì sẽ xảy ra khi họ quay lại trang web và sử dụng nút "đăng nhập bằng XXX" khác? tôi có nên kiểm tra dựa trên email không? những gì tôi nên hiển thị cho người dùng? matt – Matt

+0

thật khó để tìm một kế hoạch dễ dàng. một điều - không thực sự là một chương trình rất phức tạp như giải pháp UX - tôi đã thấy các trang web có trang tiểu sử (và đôi khi PROMPT người dùng theo cách nào đó để 'hoàn thành tiểu sử của bạn'). 'cài đặt mạng xã hội. một khi bạn có dữ liệu này, bạn có thể rút ra kết luận hợp lý phía máy chủ và tạo các liên kết thích hợp trong DB người dùng của bạn. – jsh

1

Tôi đã được chiêm ngưỡng thêm FB auth để ứng dụng của chúng tôi, nhưng chúng tôi biết rằng người dùng quay trở lại của chúng tôi có thể nhấp vào nó và kiểm tra hoàn chỉnh cho một mục mới, và sau đó ngạc nhiên khi không thấy bất kỳ của họ đơn đặt hàng hiện tại. Để giải quyết việc này, khi người dùng nhấp vào 'Login with Facebook' mục, chúng tôi đang sử dụng đó bấm vào để bắn một menu thả xuống có hai lựa chọn:

mockup

[Đăng nhập với Facebook]
[Tạo tài khoản mới ]
[Tôi có tài khoản]

Nếu người dùng nhấp vào 'Tôi có tài khoản', chúng tôi sẽ gửi họ đến FB auth và gửi lại email từ FB cho ứng dụng của chúng tôi. Chúng tôi so sánh email đó với người dùng hiện tại của chúng tôi. Nếu chúng tôi khớp, chúng tôi sẽ thêm số tiền FB vào người dùng. Nếu không khớp, chúng tôi sẽ cảnh báo:

Email bạn có bằng FB không khớp với bất kỳ tài khoản nào của chúng tôi. Để đăng nhập vào tài khoản hiện tại của bạn, hãy đăng nhập bằng email của bạn bên dưới, hoặc cập nhật email trong tài khoản Facebook của bạn

Điều này cho phép người dùng tạo một tài khoản hoàn toàn mới, nếu muốn giữ riêng biệt, mà không cần dịch vụ email mới. Trong khi đây là một trường hợp cạnh, nó là một tính năng.

Các vấn đề liên quan