我正在构建一个 RESTful api 作为我们iOS / Android应用程序的后端。我已经通过OAuth2实现了自定义注册和登录,这意味着用户获取访问令牌以换取他们的用户名和密码。
现在我想添加使用Facebook帐户登录的可能性,但我不确定以下授权流程是否合适。
- 用户打开Android / iOS应用并接受Facebook权限
- 获取facebook访问令牌
- facebook访问令牌被发送到我们的服务器
- 服务器验证访问令牌并检索有关用户的信息
- IF 用户的facebook_id以前存储在我们的数据库 GOTO 9中。
- IF 用户的电子邮件先前存储在我们的数据库 GOTO 8中。
- 我们无法识别user'email或facebook_id,我们会为他创建一条记录
- 我们会识别用户的电子邮件,我们将使用facebook_id和facebook信息更新他的个人资料
- 我们会识别用户的电子邮件和facebook_id,我们会更新信息
- 用户获取我们的自定义访问令牌
醇>
此外,当我要求访问令牌时,需要提供密码。因此,我在每次登录Facebook时都会生成一个新的临时facebook密码。
是否有任何最佳实践如何实施此流程或上述步骤是否正确?
感谢。