无法使用 flutter with firebase 从 Facebook 注销

Cannot sign-out from Facebook using flutter with firebase

我有一个 flutter 应用程序,我在 iOS 上使用 Facebook 和 firebase 进行身份验证。但是,虽然我调用了注销功能,但我无法再次进入登录页面

我总是看到 facebook 确认屏幕,其中有一些文本通知我我已经登录。

如何注销以便下次我被要求输入我的 email/pass

这是我的代码片段

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();
  }

感谢您的帮助

Firebase 将 FirebaseUser 对象保存在缓存中,因此用户每次离开应用程序时都不需要重新登录。所以 signOut 函数应该是这样的:

Future<void> signOut() async {
    await _facebookLogin.logOut();
    await _auth.signOut();
    _user = null;
  }

并且 FirebaseUser user; 应该从 signInWithFacebook 函数中移出(我将其重命名为 _user)。