【发布时间】:2018-03-19 14:56:09
【问题描述】:
我正在使用 React Native 开发一个应用程序,但我找不到任何教程来根据我自己的服务对我的用户进行身份验证(我认为这称为第一方应用程序)。用户需要能够使用用户/密码以及他们的 Facebook 帐户进行身份验证。
我一直在研究它,发现我应该使用应该以这种方式工作的授权代码授予流程:
- 使用应用的客户端 ID、重定向 URL 和状态参数创建登录链接
- 用户看到授权提示并批准请求
- 用户被重定向回应用程序的服务器并带有授权码
- 应用程序将身份验证代码交换为访问令牌
据我了解,我所有的重定向链接都应该以 myapp://uri 在本机浏览器中打开它开始。但我真的不需要第二步,不是吗?为什么要向用户请求相同服务的权限?
我不明白的另一件事是,要交换身份验证码以获取访问令牌,我需要传递我的客户端 ID 和客户端密码。但我了解到我不必将客户端机密存储在本机应用程序中,因为它可能会被泄露。
【问题讨论】:
-
您是否希望用户同时使用用户 ID/密码和 facebook 登录,并希望创建自己的涵盖这两种登录类型的“OAuth2”流程?还是您在这里只讨论 Facebook 的登录流程?
标签: android authentication react-native oauth