node.js - 使用 react-native 和后端 API 实现原生社交身份验证流程
问题描述
我正在开发一个移动应用程序,并且正在使用带有 NodeJS / MongoDB API 后端的 React Native。我想在我的应用程序中添加社交身份验证 (Google/Facebook)。对我来说,社交身份验证作为本机登录流程发生而不是基于浏览器也很重要(即,用户不会被重定向到浏览器以输入他/她的凭据)。我还希望在用户通过 Google 或 Facebook 进行身份验证时返回一些令牌,以便我可以使用该令牌来调用我的 API、验证该令牌是否正确并返回用户特定的资源。
我发现的大多数示例都使用 Firebase,但我不喜欢使用 Firebase,因为我已经在使用 MongoDB。其他示例实现了 WebView,因此用户通过浏览器被重定向到相应的社交提供者,我也不希望这样,因为我想提供原生体验。
我也在考虑尝试使用以下库之一:https ://github.com/FormidableLabs/react-native-app-auth或https://github.com/fullstackreact/react-native-oauth来实现这个.
我正在寻找有关如何实现此功能的任何帮助/建议。
解决方案
对于 Facebook,使用react-native-fbsdk。
对于 Google,请使用react-native-google-signin。
两者都不会重定向到浏览器进行登录,并且在您需要使用它们时都有令牌。
推荐阅读
- matlab - 如何在 Matlab 中“漂亮地打印”传递函数?
- jasmine - 在 Jasmine 中满足条件后调用“it”方法
- node.js - 使用 Kentico Kontent 运行“gatsby build”时出错
- azure-pipelines - 使用两个自托管 Azure 管道代理以并行模式发布工件
- oracle - 我收到此错误 ORA-00984 column not allowed here
- c# - 扩展基于角色的授权时面临的问题
- azure - Azure Application Insight 查询以获取成功率
- ios - 表格视图单元格的约束问题
- sql - 尝试应用 WHERE 时,Presto 中的嵌套 SQL 无法解析列名
- ethereum - 如何在 Vyper 中将字节解码/编码为地址数组?