【问题标题】:Cannot sign-out from Facebook using flutter with firebase无法使用带有 Firebase 的颤振从 Facebook 注销
【发布时间】:2019-05-02 18:48:51
【问题描述】:

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

我总是会看到 facebook 确认屏幕,上面有一些文字告诉我我已经登录了。

我如何注销,以便下次我被要求输入我的电子邮件/密码时

这是我的代码的 sn-p

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

感谢您的帮助

【问题讨论】:

    标签: facebook flutter flutter-dependencies


    【解决方案1】:

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

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

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

    【讨论】:

    • 如何重新获得登录屏幕。
    猜你喜欢
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2020-10-02
    • 2021-04-05
    • 2011-09-17
    • 1970-01-01
    • 2013-06-22
    相关资源
    最近更新 更多