gpt4 book ai didi

firebase - 删除用户后,Firebase身份验证未吊销?

转载 作者:行者123 更新时间:2023-12-04 22:47:14 24 4
gpt4 key购买 nike

我遇到了使用电子邮件/密码进行Firebase简单登录的奇怪行为:
如果我使用现有的用户帐户登录,则可以写入Firebase引用(即$ root/list/$ item)。
如果没有,我没有预期的写访问权限(Firebase规则似乎还可以),
但是,如果客户端已登录,并且同时从Firebase Forge(“身份验证”页面)删除用户,则连接的客户端仍具有对Firebase ref的写权限!
是设计使然还是错误?
谢谢。

规则如下:

{
"rules": {
".read": true,
"list": {
"$item": {
".write": "auth != null && newData.child('author').val() == auth.id",
".validate": "newData.hasChildren(['author', 'content'])",
"author": {
".validate": "newData.val() == auth.id"
},
"content": {
".validate": "newData.isString()"
}
}
}
}
}

最佳答案

简短答案:根据设计,或更准确地说,在这种情况下不适用。

在身份验证期间,FirebaseSimpleLogin会生成一个 token 。将 token 提供给客户端后, token 将一直保持有效,直到过期。因此,当您以简单登录方式删除用户帐户时,这不会以某种方式进入客户端的计算机并删除 token 。这是一个非常标准的身份验证模型, token 的有效期长度(可在Forge中配置)是安全性的关键约束。

如果要立即撤消登录,则简单登录不是适合该工作的工具。您将要使用custom login并生成自己的 token 。有一些很棒的discussions on revokable tokens,所以请您引用那些,因为这不在您的问题范围之内。

关于firebase - 删除用户后,Firebase身份验证未吊销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19377172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com