1

对于我的 React Native 应用程序,我使用Parse JS SDK并在Back4app上托管Parse Server。当我尝试注册新用户时,该用户未通过身份验证,因为响应未返回.sessionToken

但是,一旦用户在数据库中并登录,sessionToken就会返回 a 并且用户已成功通过身份验证。

要求

登录/注册的请求相同。

await Parse.User.logInWith('google', {
  // auth data received from @react-native-community/google-signin
  authData: {
    id,
    id_token: token
  }
})

对初始注册的回应

响应应该返回sessionToken缺少的 a。因此,用户未经过身份验证,并且无法对用户对象进行修改。

{
  "authData": {...}, 
  "createdAt": "...", 
  "objectId": "...", 
  "updatedAt": "...", 
  "username": "..."
}

创建用户后登录响应

{
  "ACL": {...}, 
  "authData": {...}, 
  "createdAt": "...", 
  "objectId": "...", 
  "sessionToken": "...", 
  "updatedAt": "...", 
  "username": "..."
}

我不使用任何云代码。只需使用 Google oAuth 进行简单的身份验证流程。

非常感谢任何帮助。

编辑:“使用 Apple 登录”的相同问题

4

2 回答 2

1

据我所知,根据官方文档,Parse 仅在验证用户已与 OAuth 身份验证数据相关联时才会响应 200(HTTP OK)并包含会话令牌。因此,据我所知,创建用户时的第一个请求将不包含 sessionToken。

于 2020-05-26T12:43:24.790 回答
0

看看这个教程https://www.thinkertwin.com/how-to-setup-google-oauth2-login-with-parse-server-in-react/ 这里有一个关于如何设置你的云代码的解释. 它适用于 React,但只要稍作调整,它就能适用于 React Native。您还需要 Cloud Code,因为您需要存储您的客户 ID 和机密。你不想在你的公共应用程序上有这些

于 2020-11-17T07:01:47.863 回答