验证使用Oauth认证的用户


Validating Users Authenticated with Oauth

我已经为我正在开发的应用程序提供了Oauth支持。我正在努力解决的是关联Oauth帐户的逻辑。

的例子:

假设一个用户以前登录过。他们使用Facebook进行身份验证。我现在有了一个电子邮件地址,我可以放心地假设它永远是该用户唯一的。但是,Twitter不通过Oauth实现提供电子邮件地址,所以如果有人先登录Twitter,然后登录Facebook,我该如何正确地关联他们的帐户?我不能使用用户名或处理程序,因为很明显,每个提供者的情况都不一样。还有别的办法吗?

我是否要求用户输入他们的电子邮件地址,如果他们使用Oauth提供程序省略它?我正在努力把最好的用户体验和最稳定的系统结合在一起,所以非常感谢您的帮助。

如果您正在考虑使用多个身份提供者,那么您的最佳解决方案是使用系统唯一的内部ID,然后在进行外部身份验证时将外部帐户与该ID关联起来。此外,用户在FB可以改变他们的主要电子邮件地址,所以它将是安全的假设它是唯一的,但可能不安全的假设它是当前的