Firebase 注销在 flutter 应用程序中不起作用

Firebase sign out is not working in flutter application

我正在基于提供商 ID 在 Flutter 应用程序中实施 firebase 注销,但现在根本无法正常工作。

我正在执行下面的代码。

FirebaseAuth _auth = FirebaseAuth.instance;
                if(_auth.currentUser != null) {
                User user =  _auth.currentUser;
               var userset =  user.providerData[0].providerId;

               if(userset == 'google.com'){
                 print('google provider');
                 await GoogleSignIn().signOut(); 
           //Firebase sign out navigation to the login page


                 
             } else {

                 _auth.signOut();
           //Firebase sign out navigation to the login page
                 print('sign out done successfully');
                                }



                }

代码已执行,但身份验证状态保持用户登录状态,无论是登录还是注销,重新加载应用程序后,它不会进入登录页面,而是进入主页。

如何查看退出是否成功?

应用程序重新加载时应用程序中的身份验证状态处理

Widget _handleAuth() {
    return StreamBuilder<User>(
      stream: FirebaseAuth.instance.authStateChanges(),
      builder: (BuildContext context, snapshot) {
        return (!snapshot.hasData)
            ? LoginPage()
            : HomePage();
      },
    );
  }

即使您使用的是 google 提供商,您也需要退出 firebase:

if(userset == 'google.com'){
   print('google provider');
   await GoogleSignIn().signOut();
   _auth.signOut();
 }