我正在尝试将Google登录信息添加到我的flutter应用程序中,但是googleSignIn方法说: 未为类型“ FirebaseAuth”定义“ signInWithGoogle”。 这是我的代码
Future<FirebaseUser> handleSignIn() async{
preferences = await SharedPreferences.getInstance();
setState(() {
loading = true;
});
GoogleSignInAccount googleUser = await googleSignIn.signIn();
GoogleSignInAuthentication googleSignInAuthentication = await googleUser.authentication;
FirebaseUser firebaseUser = await firebaseAuth.signInWithGoogle(
idToken: googleSignInAuthentication.idToken,
accessToken: googleSignInAuthentication.accessToken
);
}
答案 0 :(得分:0)
查看似乎正确的文档here。 FirebaseAuth class doesn't have a
signInWithGoogle`。
您是否正在寻找signInWithCredential
?
FlutterFire存储库中的example显示了如何将其用于Google登录:
void _signInWithGoogle() async { final GoogleSignInAccount googleUser = await _googleSignIn.signIn(); final GoogleSignInAuthentication googleAuth = await googleUser.authentication; final AuthCredential credential = GoogleAuthProvider.getCredential( accessToken: googleAuth.accessToken, idToken: googleAuth.idToken, ); final FirebaseUser user = (await _auth.signInWithCredential(credential)).user; assert(user.email != null); assert(user.displayName != null); assert(!user.isAnonymous); assert(await user.getIdToken() != null); final FirebaseUser currentUser = await _auth.currentUser(); assert(user.uid == currentUser.uid); setState(() { if (user != null) { _success = true; _userID = user.uid; } else { _success = false; } }); } }