Pau*_*ett 5 authentication asp.net-mvc oauth asp.net-identity
我终于设法在我的 MVC 网站上实现 Facebook 作为外部登录提供程序,这似乎工作正常,但我想知道允许多个外部登录提供程序链接到单个帐户的正确/安全方法是什么。
假设我使用我的 Facebook ID 登录,没有找到具有相同电子邮件地址的现有帐户,并且我的网站保留了一个与其电子邮件地址和 Facebook 令牌等相关联的新帐户。
第二天我用我的 Google 帐户登录,如果我检查我的数据库中是否有一个已经有匹配电子邮件地址的帐户,我该怎么办?
1)自动将此Google帐户与现有帐户关联并登录?
2)询问用户是否希望将他们的谷歌帐户链接到我们找到的现有帐户?
3)还有别的事吗?
谢谢。
这真的取决于你。但 VS2013 模板中提供的默认值假定内部用户和任何外部登录之间存在一对多关系。如果您使用 UserManager 检索用户,您将看到该用户登录的每个外部提供程序的 IList。
当他们使用新提供商登录时,您通常不会自动知道该用户与另一个提供商的登录关联。当您登录时,它会通过外部 ProviderKey 查找用户,因此最初不会找到与内部用户的任何关系。此时,您可以按姓名、电子邮件(带有自定义用户存储)等搜索用户,并根据需要进行链接。
| 归档时间: |
|
| 查看次数: |
1807 次 |
| 最近记录: |