【发布时间】:2014-07-15 18:25:05
【问题描述】:
我正在开发一个 MVC4/Razor 网站,客户要求用户能够使用 Facebook/Google 帐户登录该网站。幸运的是,使用 Forms 身份验证非常简单。
但是,我面临的问题是:如果提供商返回的用户电子邮件地址与现有用户名匹配怎么办?
例如,tim@rocketeerconsulting.com 以前作为本地帐户存在。无论出于何种原因,用户都想使用 Facebook 登录。 Facebook 返回 tim@rocketeerconsulting 是用户的电子邮件地址。如果用户尝试使用该信息创建帐户,MVC4 将声明该帐户已存在。
有几个问题:
- 如果 OAuth 提供商提供的电子邮件地址与现有帐户匹配,是否应允许用户合并帐户?
- 这会带来潜在的安全风险。我可以依靠 OAuth 提供商来确认地址是否有效吗?否则,恶意用户可以创建 Facebook 帐户,然后获得对其他用户帐户的访问权限。
- 如果有的话,应该如何实现这样的事情?
我知道有一个类似的问题here,但我的问题专门与 MVC4 中的 Forms auth 的上下文有关。
【问题讨论】:
标签: asp.net facebook asp.net-mvc-4 oauth