2011-09-26 174 views
2

我已经为我正在开发的应用程序提供了Oauth支持。我试图通过的是关联Oauth帐户的逻辑。验证通过Oauth验证的用户

例子:

比方说,用户已在登录之前。他们使用Facebook进行身份验证。我现在有一个电子邮件地址,我可以放心地认为这个地址对于那个用户来说永远是唯一的然而,Twitter不会通过其Oauth实施提供电子邮件地址,因此如果有人使用Twitter和Facebook登录,我该如何正确关联他们的帐户?我无法使用用户名或处理程序,因为显然这可能因供应商而异。有没有其他办法可以做到这一点?

我是否需要用户输入他们的电子邮件地址,如果他们使用Oauth供应商而忽略它?我试图把最好的用户体验和最稳定的系统放在一起 - 所以我们非常感谢您的帮助。

+0

这已经被讨论过......但没有解决:http://stackoverflow.com/questions/3191044/social-network-facebook-twitter-etc-user-account-integration-duplicate-scena –

回答

0

如果您正在考虑与多个身份提供商合作,那么您的最佳解决方案是使用系统唯一的内部ID,然后在外部身份验证发生时将外部帐户与该ID相关联。此外,FB中的用户可以更改他们的主要电子邮件地址,因此假定它是唯一的可能是安全的,假设它是最新的可能并不安全。