将 Google Sign 添加到 Expo 应用程序和服务器端会话处理

Sop*_*sop 6 react-native google-signin expo expo-cli

环境

  • 反应本机 0.62
  • 世博SDK版本: 37
  • 平台(Android 和 iOS):

语境

嗨,我正在使用Expo 客户端构建一个应用程序,我想添加Google Sign in。我已经从 Google 开发者平台控制台创建了 iOS 和 Android 客户端 ID。

基本上,我想做StackOverflow和许多其他人做的事情:

  • 要求用户第一次允许应用访问他们的 Google 个人资料信息和电子邮件
  • 使用检索到的数据在我的后端数据库中将他们注册为新用户
  • 第一次授权后,用户可以直接用google登录app,无需再次授权
  • 我的后端 API 将处理独立于 Google 的用户会话,即使用户退出其 Google 帐户,也能保持用户与应用程序的连接
  • 如果用户已经登录了他们的 google 帐户,应用程序会自动将他们登录到他们的帐户。

我已经阅读 Google 文档和 Expo 文档好几个星期了,我感到很困惑,因为有很多解决方案,但它们似乎都非常模棱两可:expo-google-sign-in, expo-google-app-auth, expo-app-auth,expo-auth-session

我的问题:

  • 据我了解expo-google-app-auth,用于 OAuth 2.0 授权以获取 arefreshToken和 aaccessToken用于调用各种 Google API。另一方面expo-google-sign-in用于使用户能够登录到他们的 Google 帐户。那正确吗?

  • 如果我没有错,expo-google-sign-in那么这就是我应该用于我的应用程序的内容,对吗?问题是它不适用于 Expo Client,仅适用于根据 Expo 文档的独立应用程序。所以我真的不知道该怎么办!

  • 是否有关于如何使用 Google 登录和服务器端用户会话处理制作 React Native App(使用 Expo 和 Expo Client)的教程或课程?