解析:使用Google oAuth初始注册后没有检索到sessionToken



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

但是,一旦用户进入数据库并登录,就会返回sessionToken并且用户身份验证成功。

请求

登录/登录的请求相同。

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

初始注册时的响应

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

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

创建用户后登录时的响应

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

我不使用任何云代码。只是一个带有Google oAuth的简单身份验证流。

任何帮助都非常感谢。

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

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

看看本教程 https://www.thinkertwin.com/how-to-setup-google-oauth2-login-with-parse-server-in-react/这里有一个关于如何设置云代码的说明。它适用于 React,但只要稍作调整,它将适用于 React Native。 您还需要云代码,因为您需要存储客户端 ID 和密钥。您不希望在公共应用程序上包含这些内容

相关内容

  • 没有找到相关文章

最新更新