我有一个 Web 应用程序,它允许通过Facebook、Google和Windows Live进行注册和身份验证。每个 OAuth 请求都具有从身份验证提供程序检索关联电子邮件地址所需的范围。
当前情况是基于提供者和提供的标识符创建帐户。这意味着如果用户使用多个提供商登录,则该用户将在 Web 应用程序上拥有多个帐户。
即使使用多个提供程序,我也希望拥有一个帐户的理想情况。我正在考虑使用电子邮件地址来查看用户是否存在帐户。如果存在,请使用基于电子邮件地址的帐户。
这有多安全/可靠?是否所有提到的 OAuth 提供商都会验证电子邮件地址?更好的方法?
编辑:运行测试并想出了这个。仍在寻找进一步的建议:)
FaceBook: Cannot authenticate with unvalidated e-mail. Additional e-mail will not appear until validated.
Google: Provides `verified_email`. Additional e-mail will not appear until validated.
Windows Live: Cannot authenticate with unvalidated e-mail. Additional e-mail will not appear until validated.