对于我的 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 和密钥。您不希望在公共应用程序上包含这些内容