【问题标题】:React native fbsdk user change issue on both IOS and Android在 IOS 和 Android 上反应原生 fbsdk 用户更改问题
【发布时间】:2018-04-04 00:58:04
【问题描述】:

我使用此 (https://github.com/facebook/react-native-fbsdk) 组件尝试使用 Facebook 为我的应用设置身份验证。我已经成功配置了它,所以登录按钮在两个平台上都给了我一个有效的令牌。

问题在于应用程序records successfully logged user,要摆脱它非常棘手(只有重新安装才能有所帮助)。此外,当您尝试在 android 上的 facebook 应用程序中更改登录用户时 - 它会出现错误:

'用户以不同的 Facebook 用户身份登录'

我总是收到this 屏幕而不是登录表单,我可以在其中输入其他凭据或至少更改帐户。

我使用提供的LoginManager.logInWithReadPermissions 登录,LoginManager.logOut 似乎什么也没做。

那么,如果登录不正确或 main-fb-app 帐户已更改,我是否可以申请 to give a user a choice

【问题讨论】:

  • 同样的问题,有什么进展吗?
  • 问题特别解决。我成功配置了 Android 部分,所以它现在没有错误,并且 LoginManager.logOut() 对 Android 很好。 IOS 仍然记得登录用户,所以我不能在我的应用程序中更改帐户。
  • @StanislavMatviichuck 你到底做了什么?

标签: android ios facebook react-native react-native-fbsdk


【解决方案1】:

这似乎是一个未解决的问题https://github.com/facebook/react-native-fbsdk/issues/536

尽你的一份力量——请对此问题进行投票,以便 FB 团队将来解决它。

答案——目前无法解决这个问题。

Dev Workaround –如果您正在开发并需要测试多个用户,您可以使用不同的模拟器通过另一个登录进行身份验证。

如果 FB 解决了这个问题,请考虑编辑此答案

【讨论】:

    【解决方案2】:
    FBLogout = async () => {
    try{
        let tokenObj = await AccessToken.getCurrentAccessToken();
        let current_access_token = tokenObj.accessToken.toString();
        let logout = new GraphRequest(
            "me/permissions/",
            {
                accessToken: current_access_token,
                httpMethod: 'DELETE'
            },
            (error, result) => {
                if (error) {
                    console.log('Error fetching data: ' + error.toString());
                } else {
                    LoginManager.logOut();
                }
            });
         new GraphRequestManager().addRequest(logout).start() 
    }catch(error}{
     console.log(error);
    }
      }
    

    【讨论】:

      【解决方案3】:

      在您的模拟器或设备上打开 Safari,访问 www.facebook.com。

      您会看到您仍然使用原始帐户登录。只需在此处注销,然后您就可以在您的 react native 应用程序中使用其他应用程序。

      【讨论】:

      • 在模拟器上对我来说不是真的!即使我已登录,Safari 也会显示我已注销。如果我使用其他帐户登录 safari facebook,我的应用程序会完全忽略它并使用原始帐户保持登录状态。我还没有在我的设备上尝试过。
      • 这个答案有点老了,也许最新的 Facebook SDK 发生了一些变化。也许如果您的设备中安装了 Facebook 应用程序,那么您需要确保您也已在其中注销。
      • 在设备上运行良好!仅在模拟器上您无法更改帐户
      猜你喜欢
      • 2016-10-23
      • 1970-01-01
      • 2019-05-27
      • 2017-07-10
      • 1970-01-01
      • 1970-01-01
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多