我有一个Flutter应用,可在其中通过Facebook和iOS上的Firebase进行身份验证。但是,尽管我正在调用注销功能,但是我无法再次获得登录页面
我总是会看到Facebook确认屏幕,其中包含一些文本,通知我我已经登录。
如何注销,以便下次要求输入我的电子邮件/密码
这是我的代码段
Future<FirebaseUser> signInWithFacebook();
final FirebaseAuth _auth = FirebaseAuth.instance;
Future<FirebaseUser> signInWithFacebook() async {
FirebaseUser user;
var result = await _facebookLogin
.logInWithReadPermissions(['email', 'public_profile']);
if (result.status == FacebookLoginStatus.loggedIn) {
FacebookAccessToken myToken = result.accessToken;
AuthCredential credential =
FacebookAuthProvider.getCredential(accessToken: myToken.token);
user = await _auth.signInWithCredential(credential);
}
return user;
}
Future<void> signOut() async {
await _facebookLogin.logOut();
await _auth.signOut();
}
感谢您的帮助
答案 0 :(得分:0)
Firebase将FirebaseUser
对象保存在缓存中,因此用户每次离开应用程序时都不需要重新登录。因此signOut函数应如下所示:
Future<void> signOut() async {
await _facebookLogin.logOut();
await _auth.signOut();
_user = null;
}
FirebaseUser user;
应该移出signInWithFacebook函数(我将其重命名为_user
)。