如何解决React Native - GoogleSignIn - refreshToken, idToken, accessTokenExpirationDate 都是空的
我正在尝试在我的项目中使用 expo-google-sign-in。我可以使用 GoogleSignIn.signInAsync() 登录,但是在我返回的对象中,refreshToken、idToken 和 accessTokenExpirationDate 都为空。有谁知道问题是什么?我使用 expo 4.2.1。我已经弹出项目并使用 react-native run-android
运行它这是我的代码:
import React from 'react';
import { View,Button } from 'react-native';
import * as GoogleSignIn from 'expo-google-sign-in';
export default function App() {
return (
<View>
<Button title='sign in' onPress={async () => {
await GoogleSignIn.initAsync({
clientId: '<MY CLIENT ID>',scopes: [
GoogleSignIn.SCOPES.OPEN_ID
],});
const r = await GoogleSignIn.signInAsync();
console.log(JSON.stringify(r));
}}/>
</View>
);
}
结果是这样的:
{
"type": "success","user": {
"uid": "8978924659847365874563486867","email": "john.bar@gmail.com","displayName": "John Bar","photoURL": "https://lh3.googleusercontent.com/a-/AjsgdyegdrR-_wluyiuBUUKDKWBUWYDKUWGHDjO-M","firstName": "John","lastName": "Bar","auth": {
"idToken": null,"refreshToken": null,"accessToken": "ya29.a0AfH6SMCh1K322dfdf34rff6_gGHW98-kIngxBUUTtfRZTugtwff4f4wf4f4wf4fPib9fc2JPXmg7ewfGx7peVtC4ffwfw4fwfw4fw4fBeFkqJydbWxcwiUb","accessTokenExpirationDate": null
},"scopes": [
"https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/userinfo.email"
],"serverAuthCode": null
}
}
奇怪的是,结果中的 scopes 字段不包含 openid。
这些是我在 Google Cloud Console 中的凭据(SHA1 指纹来自 debug.keystore)。
同意设置
提前致谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。