这是我在flutter中使用firebase auth的登录和注销功能,该标志运行正常,但该注销不起作用,我尝试在调试控制台中打印“注销文本”并进行打印,然后导航至“登录”页面部分无法正常工作。
Future<FirebaseUser> signInWithGoogle() async {
try{GoogleSignInAccount googleUser = await _googleSignIn.signIn();
// Step 2
GoogleSignInAuthentication googleAuth = await googleUser.authentication;
final AuthCredential cred= GoogleAuthProvider.getCredential(idToken: googleAuth.idToken, accessToken: googleAuth.accessToken);
FirebaseUser user = (await _auth.signInWithCredential(cred)).user;
return user;} catch(e){
print(e.toString());
return null;
}
}
signOutGoogle() async{
await _auth.signOut();
await _googleSignIn.signOut();
print('signed out');
}
这是我的退出按钮实现:
FlatButton.icon(
onPressed: () async => {
Navigator.pushNamed(context, '/signin'),
_auth.signOutGoogle(),
},
icon: Icon(Icons.exit_to_app),
label: Text(
'Sign out',
style: GoogleFonts.abel(color: Colors.black),
),
)
答案 0 :(得分:0)
切换这两种方法并等待signOutGoogle():
onPressed: () async {
await _auth.signOutGoogle(),
Navigator.pushNamed(context, '/signin'),
},