我目前正在尝试为我正在处理的项目实施基于OAuth2的注册/登录。
一个想法让我感到震惊;如果用户决定第一次使用Facebook登录该网站,第二次使用Google;
1)是否可以将两种不同的登录方法连接到同一帐户?
2)这是个好主意吗?
起初我以为我可以将电子邮件用作唯一标识符,但我怀疑这是否足够安全。
有没有办法实现这一点,或者你应该为这两个创建两个独立的帐户,具体取决于他们使用的登录方法?
答案 0 :(得分:0)
为什么电子邮件作为唯一标识符缺乏安全性? 唯一的问题可能是用户在Facebook上有一些垃圾邮件地址以避免这些电子邮件通知。但是你可以给用户一个cookie,如果他试图用google而不是facebook进行第二次身份验证,那么他创建了自己的帐户,你就可以解决一个让他将google子帐号连接到主要的一个,用facebook创建。但这需要相当长的时间;)
答案 1 :(得分:0)
Facebook有一个关于此问题的指导页面。它在安全问题和最佳实践方面非常全面:
如果您使用电子邮件地址作为标识每个帐户的唯一凭据,您的应用应验证与该人的Facebook帐户相关联的电子邮件地址(以及在Facebook登录期间获得的电子邮件地址)是否有效。您可以通过在应用程序中创建代码来向Facebook登录后获得的地址发送验证电子邮件(您可能需要将此步骤作为常规登录系统的一部分)。
https://developers.facebook.com/docs/facebook-login/multiple-providers
您是否认为必要将取决于您的网站通过登录做什么或允许。