创建&;使用Facebook/Google/Twitter登录API管理用户

创建&;使用Facebook/Google/Twitter登录API管理用户,api,twitter-oauth,google-oauth,facebook-oauth,Api,Twitter Oauth,Google Oauth,Facebook Oauth,我正在实现上述登录功能 假设用户已通过Facebook授权访问该应用程序,我想知道在我们的应用程序上为用户创建帐户的最佳做法,以及如果用户以后使用其他社交网络之一登录,如何检索该帐户的最佳方法,即仅使用各自API提供的电子邮件地址即可检索帐户 这就是我对流程的预期: 用户使用Facebook登录 我们的应用程序中不存在访问令牌,Facebook提供的电子邮件地址也不存在 在应用程序上创建帐户,提示用户创建用于应用程序的密码(是否有必要?) 用户稍后返回,并使用谷歌登录 应用程序中不存在访问令牌,

我正在实现上述登录功能

假设用户已通过Facebook授权访问该应用程序,我想知道在我们的应用程序上为用户创建帐户的最佳做法,以及如果用户以后使用其他社交网络之一登录,如何检索该帐户的最佳方法,即仅使用各自API提供的电子邮件地址即可检索帐户

这就是我对流程的预期:

  • 用户使用Facebook登录
  • 我们的应用程序中不存在访问令牌,Facebook提供的电子邮件地址也不存在
  • 在应用程序上创建帐户,提示用户创建用于应用程序的密码(是否有必要?)
  • 用户稍后返回,并使用谷歌登录
  • 应用程序中不存在访问令牌,但电子邮件地址存在
  • 使用谷歌提供的电子邮件地址获取用户帐户信息(仅使用电子邮件地址是否可以接受?)
  • 验证应用程序上的用户
  • API通常是这样使用的吗?欢迎采取任何其他办法


    非常感谢

    我建议大家看看Google Identity Toolkit:


    它旨在支持更多的认证提供商,而不仅仅是谷歌。他们的团队对您提出的许多问题进行了大量思考,这些问题很有意思,即使您最终选择了不同的方式。

    用户可能会为不同的服务使用不同的电子邮件地址。谷歌很可能会给你他们的谷歌邮箱地址,但不能保证他们使用相同的地址注册Facebook或Twitter。(至少对于FB来说,根本不能保证你会收到一封电子邮件,因为他们可以只使用手机注册。)因此,如果你找到一封匹配的电子邮件,你可以使用与现有帐户不同的服务“加入”新的注册,但是,您应该为用户提供一个选项,手动告诉他们已经有了一个帐户,他们只想添加另一个登录选项。