如何在Firebase Flutter中注销Google Auth?

时间:2020-09-06 17:27:45

标签: firebase flutter dart firebase-authentication

这是我在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),
                      ),
                    )

1 个答案:

答案 0 :(得分:0)

切换这两种方法并等待signOutGoogle():

onPressed: () async {
  await _auth.signOutGoogle(),
  Navigator.pushNamed(context, '/signin'),
},