2014-11-20 20 views
6

Tôi đã tạo một kịch bản đăng nhập nhỏ đẹp mắt cho trang web của mình cho phép người dùng đăng nhập bằng Facebook hoặc Google vào lúc này.Logic Đằng sau Đăng nhập Xã hội

Điều tôi đang cố gắng làm là đặt một số kiểm tra để đảm bảo rằng các bản sao không xuất hiện trong cơ sở dữ liệu.

Dưới đây là một số kịch bản tôi đã bao phủ:

  • Đăng nhập với tài khoản Google/Facebook và tôi đã đăng ký tài khoản này, này sẽ đăng nhập người dùng thẳng trong khi họ đã liên kết tài khoản này.
  • Người dùng có đã được đăng ký với tài khoản Google, nhưng nhấp vào Facebook vì họ không thể nhớ tài khoản nào họ đã sử dụng. Điều này sẽ cảnh báo người dùng rằng địa chỉ email được trả về từ Facebook đã được đăng ký với tài khoản Google. Điều này sẽ cho phép họ nhấp vào Facebook để đăng nhập??? KHÔNG SURE TRÊN LOGIC NÀY TẠI MOMENT ???
  • dùng nhấp vào Google/Facebook để đăng nhập, tuy nhiên địa chỉ email trở lại là một người dùng đã trải qua các đăng ký nhãn hiệu. Điều này sẽ cảnh báo người dùng rằng tài khoản xã hội mà họ đang cố gắng đăng nhập với sẽ yêu cầu mật khẩu.

Những gì tôi đang nghĩ đến việc làm là cho phép người dùng LINK TÀI KHOẢN để quá trình cảnh báo không xảy ra vì tôi có thể liên kết tài khoản facebook của tôi vào tài khoản google của mình thông qua trang web của tôi, và ngược lại vv vv

Những gì tôi hỏi:

có bất kỳ kiểm tra khác tôi có thể bị thiếu? Đây có phải là âm thanh không? Có điều gì tôi đang làm khiến bạn đặt câu hỏi về quá trình đăng nhập không ??

Về cơ bản, hãy yêu cầu lời khuyên logic về điều này.

Trả lời

4

Xin chúc mừng! Bạn gần như đi đúng hướng. Hãy phân tích tình hình của bạn ở đây.

lý tưởng Tình hình

1. Registered on your site 
2. Log in with Google 
3. Log in with Facebook 

Bây giờ, chúng ta hãy xem những mẫu số chung ở đây, tôi có nghĩa là khóa chính. Tôi đoán trong trường hợp của bạn nó phải là địa chỉ email.

Process thực tế luồng

1. User registers. You save the email address 

Hoặc,

2. User registers with Google/Facebook and you save the email address. 

Login Thủ tục

1. You receive the email address either from direct login/facebook/google. 
2. You match it against your table 
3. On positive match, you link this social login to an existing account 

Nếu,

012.
4. It is not a positive match then you accept whatever data you receive and then forward 
    and then pass on to the registration page. 

Hy vọng điều này sẽ hữu ích! Hãy cho tôi biết nếu bạn muốn biết bất cứ điều gì khác.

Chúc mừng!

+1

Đây là giải pháp cho câu hỏi được hỏi, nhưng tôi sẽ cảnh báo rằng email là khóa chính trên SSO là một hướng mạo hiểm và không thích hợp cho các trang web nơi người dùng có thể nhập bất kỳ nội dung nào cá nhân. (Ví dụ: nếu bạn quên kiểm tra email của google_verified, tất cả các tài khoản hiện có nguy cơ. Nếu người dùng Google SSO không bao giờ sử dụng fb, nhưng địa chỉ có chủ sở hữu trước đã thực hiện .. oops.) Cho biết người dùng mới có thể có tài khoản khác một cái ác nhỏ hơn, nhưng chỉ rõ ràng chỉ ra rằng họ đang bước vào một sự sáng tạo tài khoản mới có thể bị hủy bỏ vẫn an toàn hơn. – lossleader

+0

Bị thừa nhận! Bạn đúng rồi. Bây giờ, với câu hỏi này đến một kịch bản rất quan trọng, tức là logic kinh doanh. Chúng tôi làm cho CRM để kiếm sống. Trong mọi trường hợp, mỗi khách hàng có một khóa chính khác nhau. Đôi khi đối với một công ty bảo hiểm, đó là số điện thoại, đối với dịch vụ hẹn hò, đó là địa chỉ email, đối với người khác, đó có thể là ID ứng dụng. Vì vậy, bạn phải đảm bảo rằng bạn xử lý khóa chính ở cuối của bạn. Những gì tôi đã làm là, đi trước với SSO và sau đó hiển thị các trận đấu có thể xảy ra và sau đó cho phép người dùng chọn một. Ban đầu sau khi đăng ký OAuth, người dùng cũng phải điền một số thông tin bổ sung. –

+0

Tôi nghĩ là người duy nhất sẵn sàng trả lời, và một người dường như đang đi dọc theo đường thẳng bạn xứng đáng nhận được tiền thưởng này. Tôi có thể không đồng ý ** 100% ** với thủ tục của bạn - nhưng nó không phải là xa những gì tôi yêu cầu. – JustSteveKing

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