【问题标题】:How to signout of Google auth in firebase Flutter?如何在 Firebase Flutter 中退出 Google 身份验证?
【发布时间】:2020-12-25 06:02:24
【问题描述】:

这些是我在颤振中使用 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),
                      ),
                    )

【问题讨论】:

标签: firebase flutter dart firebase-authentication


【解决方案1】:

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

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

【讨论】:

  • 我之前试过了,但没用。这就是我后来切换的原因。
  • 试试这个 _auth .signOutGoogle() .whenComplete(() => Navigator.pushNamed(context, routeName));
猜你喜欢
  • 2022-01-11
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 2018-08-15
  • 2021-03-22
  • 2021-06-06
  • 2019-01-05
相关资源
最近更新 更多