Firebase 删除后仍在检索 authData

标签 firebase firebase-authentication

在我手动删除连接到我的 iPhone 模拟器所在的 uid 的帐户(从 firebase 仪表板)后,当我运行下面的代码时,它仍然以某种方式进行身份验证并检索 uid。这怎么可能?

let ref = Firebase(url: "https://moviebuffapp.firebaseio.com/")

override func viewDidLoad() {
    super.viewDidLoad()

    if ref.authData != nil {

        let uid = ref.authData.uid
        print(uid)

最佳答案

删除帐户不会自动使该帐户的当前 session 过期。他们当前的 session 将保持有效,直至过期。您可以在 Firebase 控制面板中设置 session 过期间隔。

如果你想force the user to be logged out ,调用 ref.unauth()。

但一般来说,您可能希望构建授权规则,以防止此类拥有已删除帐户中的有效 token 的用户更改数据。

如果您将用户配置文件保留在数据库中,您可以检查该记录是否仍然存在于您的安全规则中:root.child('users').child(auth.uid).exists().

另请参阅:

关于Firebase 删除后仍在检索 authData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35960546/

相关文章:

swift - 如何让用户保持登录状态? swift

node.js - 如何使用 next.js 进行 firebase 身份验证

javascript - 导入 firebase-admin 时出错

java - 将 DataSnapshot 转换为类对象

ios - 构建登录演示时出现链接器错误

javascript - 使用 createUserWithEmailAndPassword 后 Firebase 无法看到用户

javascript - 如何打开 Firebase Javascript 客户端的登录?

firebase - 在 Firebase 安全规则中,您如何阻止黑客运行脚本来注册您的网站?请记住,我需要他们能够注册

javascript - 类型错误 : Cannot read property 'credential' of undefined with firebase reauthenticateWithCredential

ios - 将 .removeStateDidListener 添加到 deinit 会导致应用程序崩溃