【问题标题】:Firebase authenticating the user even if the facebook app that provided permissions is removed即使删除了提供权限的 facebook 应用程序,Firebase 也会对用户进行身份验证
【发布时间】:2020-06-07 02:54:09
【问题描述】:

我正在使用 https://rnfirebase.io/ 来响应本机应用程序。我可以使用 Facebook 登录成功地登录用户。

我的问题是,一旦我使用 facebook 登录了用户,然后我从我的 facebook 个人资料中删除了授予 firebase 权限的应用程序,firebase 仍在对我进行身份验证。

那么,通过这种方式,在我退出之前,我将始终获得身份验证?它是否正确?还是我应该申请新的访问令牌?

这是我用来检查用户是否登录的代码

  _bootStrap = () => {
        let route = Home;
        firebase.auth().onAuthStateChanged(user => {
            saveDataInAsyncStorage('userLoginInfo', user);
            this._navigate(route, result);
        });
  }

【问题讨论】:

    标签: facebook firebase react-native firebase-authentication


    【解决方案1】:

    一旦您的客户端应用从 Firebase 身份验证中获得有效的 ID 令牌,即使您执行了某些操作来禁用用户,它也会在颁发后一小时内保持有效。用户将能够使用该令牌来访问 Firebase 中的资源,直到它过期为止。此时,客户端 SDK 将尝试刷新令牌。如果帐户以某种方式被禁用,刷新将失败,之前的令牌将不再具有它曾经拥有的访问权限。

    因此,您必须等待至少一个小时,该用户才会被 Firebase 安全规则和 Firebase 管理员令牌验证等拒绝。

    【讨论】:

    • 我觉得我不太了解你。我没有在任何地方存储 FB 访问令牌。那么,通过有效的 ID 令牌,你的意思是说 Uid 吗?您能否解释一下,客户端 SDK 将如何尝试刷新令牌?是否会再次联系 facebook 检查该应用是否仍有权限?
    • 感谢您的链接,但 firebase Admin SDK 正在使用我的自定义服务器设置进行身份验证。我的问题是,当客户端 SDK 将尝试再次获取 FB 访问令牌时,因为我已经从我的 FB 配置文件中删除了提供 Firebase 权限的应用程序?
    • 一小时内,作为 Firebase Auth 颁发的所有令牌。你需要期待这一点。使用哪个身份验证提供程序无关紧要。
    猜你喜欢
    • 2019-10-10
    • 2017-02-21
    • 2016-11-16
    • 1970-01-01
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 2017-11-03
    相关资源
    最近更新 更多