gpt4 book ai didi

android - 从 Firebase 控制台中删除 Firebase 用户时(用户登录后),它不会反射(reflect)在应用程序中

转载 作者:行者123 更新时间:2023-12-04 02:51:05 24 4
gpt4 key购买 nike

user.uid 仍然存在(借助此 uid != null,我假设用户已登录)。

我也尝试了 addAuthStateListener(mAuthListener),但我仍然得到之前删除用户的 UID。

如果不使用被禁止或删除的用户 ID 的数据库跟踪,就可以立即删除该用户。

最佳答案

当用户登录 Firebase 时,他们会获得一个有效期为一小时的访问/ID token 。此 ID token 无法撤销,因为这需要 Firebase 对每次调用执行非常昂贵的检查。

因此,当您从控制台删除用户帐户时,他们可能会保留访问权限长达一小时,此时他们将需要刷新其 token ,这将失败(因为您删除了他们的帐户)。所以他们的访问权限会在一小时内自动消失。

几点:

  • 如果您想在用户的 ID token 过期之前将其锁定在应用之外,您需要在某处保留一份额外的禁用 UID 列表。例如,如果您使用的是 Firebase 数据库,则可以保留 bannedUIDs 的全局列表,并将 UID 添加到其中。然后在您的服务器端安全规则中,您可以检查尝试访问数据库的 UID 是否未被禁止。
  • 如果您删除用户的帐户,他们只需重新注册并创建一个新帐户即可。出于这个原因,通常最好禁用他们的帐户,这样做的效果相同(他们将无法在当前 ID token 过期后获得新的 ID token ),但会阻止他们使用相同的凭据再次注册。<

另见:

关于android - 从 Firebase 控制台中删除 Firebase 用户时(用户登录后),它不会反射(reflect)在应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54956709/

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