尝试使用Google Auth登录Firestore时引发错误



我正在尝试为我的应用程序创建一个谷歌登录选项。我似乎从谷歌获得了一个有效的令牌Id,但我的应用程序在ios Emulator中崩溃,控制台中显示了以下错误。

flutter:[firebase_auth/无效凭据]无法解析Google id_token:ya29.A0ARrdaM_uqbYHorJh1kJXTXac7MEm2TjD。。。。。。。

当我取消登录时,代码中成功抛出了一个错误。有人能帮我吗?

flutter:[firebase_auth/sign_in_canceled]用户取消了登录流。

@override
Future<User?> signInWithGoogle() async {
final googleSignIn = GoogleSignIn();
final googleUser = await googleSignIn.signIn();
if (googleUser != null) {
final googleAuth = await googleUser.authentication;
if (googleAuth.idToken != null) {
final UserCredential = await _firebaseAuth
.signInWithCredential(GoogleAuthProvider.credential(
idToken: googleAuth.accessToken,
));
return UserCredential.user;
} else {
throw FirebaseAuthException(
code: 'ERROR_MISSING_GOOGLE_ID_TOKEN',
message: 'Missing Google ID Token',
);
}
} else {
throw FirebaseAuthException(
code: 'sign_in_canceled',
message: 'The user canceled the sign-in flow.',
);
}
}

我想明白了。需要更改此行以传递idToken。。。而不是accessToken。

idToken: googleAuth.idToken,

相关内容

最新更新