如何禁用注销具有 firebase 功能的用户?
How do I disable an logout a user with firebase function?
大家好,我正在尝试弄清楚如何正确禁用和注销用户。
经过研究,我发现我们通过这种方式禁用了用户。
const user = await admin.auth().updateUser(userUid, {
disabled: true,
});
但我的问题是,如果用户仍在应用程序中登录怎么办?我试过了,没有任何反应,用户在禁用他后仍然可以使用该应用程序。那么我们能做些什么呢?我正在考虑使用 firebase 函数注销用户。我的应用程序是用 flutter 编写的,后端是 firebase。
成为 Firebase 的 signed-in 是基于 ID 令牌。默认情况下,此类令牌从铸造之日起一小时内有效,并且令牌本身在此期间不能失效。
用户将保持身份验证状态(最多一个小时),直到需要刷新其 ID 令牌。届时他们将被注销并且无法再次登录。
如果您想在 ID 令牌刷新之前阻止他们的访问,您将需要通过一些其他机制来实现,例如通过保留禁用的 UID 列表并对其进行检查。
我建议查看 managing user sessions, specifically the section on detecting ID token revocation 上的 Firebase 文档。
之前已经讨论过这个主题,所以我建议查看:
- Why firebase user still signed in after I deleted it from firebase dashboard
- 以及关于 [firebase-authentication] disabled or deleted user still being signed in
的其他问题
大家好,我正在尝试弄清楚如何正确禁用和注销用户。
经过研究,我发现我们通过这种方式禁用了用户。
const user = await admin.auth().updateUser(userUid, {
disabled: true,
});
但我的问题是,如果用户仍在应用程序中登录怎么办?我试过了,没有任何反应,用户在禁用他后仍然可以使用该应用程序。那么我们能做些什么呢?我正在考虑使用 firebase 函数注销用户。我的应用程序是用 flutter 编写的,后端是 firebase。
成为 Firebase 的 signed-in 是基于 ID 令牌。默认情况下,此类令牌从铸造之日起一小时内有效,并且令牌本身在此期间不能失效。
用户将保持身份验证状态(最多一个小时),直到需要刷新其 ID 令牌。届时他们将被注销并且无法再次登录。
如果您想在 ID 令牌刷新之前阻止他们的访问,您将需要通过一些其他机制来实现,例如通过保留禁用的 UID 列表并对其进行检查。
我建议查看 managing user sessions, specifically the section on detecting ID token revocation 上的 Firebase 文档。
之前已经讨论过这个主题,所以我建议查看:
- Why firebase user still signed in after I deleted it from firebase dashboard
- 以及关于 [firebase-authentication] disabled or deleted user still being signed in 的其他问题