【发布时间】:2018-11-18 16:26:41
【问题描述】:
我们在多租户设置中使用Firebase Authentication。在某些情况下,我们希望禁用一个租户的所有用户(试用已结束,订阅未续订......)或启用所有以前禁用的用户。我们为每个必须启用/禁用的用户发送UpdateRequest。
虽然我们按顺序发送请求(每个租户一次只发送一个,同时禁用的租户不多),但我们多次遇到配额超出错误:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "QUOTA_EXCEEDED : Exceeded quota for updating account information."
}
],
"code": 400,
"message": "QUOTA_EXCEEDED : Exceeded quota for updating account information."
}
}
有没有办法使用 Admin SDK 为多个用户进行批量更新?我们目前在 Java 中使用它,但 NodeJS 也可以为我们工作。或者,如果有另一种禁用多个用户的方法,例如在用户属性上使用表达式过滤器。
【问题讨论】:
-
您究竟在使用 Firebase 身份验证做什么?
-
@AndréKool 来验证我们的用户。我们目前在内部用户数据库中使用自定义令牌和 JWT,并希望将所有平台迁移到直接使用 Firebase 身份验证。
-
文档中的 this page 似乎列出了 Firebase 的所有云功能配额。我认为这些甚至适用于向 Firebase 的 auth 部分写入/更新请求。我可以看到您触发了两个限制...要么是:
API calls (INVOKE) Calls to the "call" API 16 per 100 seconds,要么甚至是:API calls (WRITE) Calls to deploy or delete functions via the Cloud Functions API 80 per 100 seconds... 在该页面的末尾,它描述了如何编辑这些配额。你有没有尝试过这些? -
根据您使用它的目的,可能可以使用firebase security rules 来启用/禁用对您的数据的访问。
-
@JeremyW 谢谢你的建议。我们没有使用云功能。管理 SDK 是从在计算实例上运行的环境触发的。这些身份验证限制 (firebase.google.com/docs/auth/limits) 不显示任何内容。
标签: firebase firebase-authentication firebase-admin