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();
}
我正在基于提供商 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();
}