我正在使用Firebase Auth对使用电子邮件/密码方法的用户进行身份验证。有时我会检测到垃圾邮件用户从一个IP地址创建许多帐户。我想阻止他们以保护我的应用。我知道Firebase Console中有一个名为“禁用用户帐户”的方法,我想在我的项目中使用它。我搜索了Stack Overflow和Firebase文档,发现这只能在Admin SDK中完成,但我想在Firebase Web JS SDK中使用它。那么有没有像user.DisableAccount这样的方法可以做到这一点?
user.DisableAccount
qij5mzcb1#
无法在客户端Firebase SDK中禁用特定用户的帐户,因为这会带来安全风险。但是,如果您查看使用Admin SDK更新用户的文档,您会发现有一个属性disabled,您可以将其设置为true。从那一刻起,该用户将无法登录或刷新其ID令牌。但其现有ID令牌仍然有效,默认情况下,这意味着他们可能需要长达一小时的时间才能注销您的应用。如果您的用例需要考虑这个时间间隔,请查看managing user sessions相关文档,特别是关于检测ID令牌吊销的部分。虽然需要做更多工作,这允许您对令牌的到期进行更细粒度的控制。
disabled
true
1条答案
按热度按时间qij5mzcb1#
无法在客户端Firebase SDK中禁用特定用户的帐户,因为这会带来安全风险。
但是,如果您查看使用Admin SDK更新用户的文档,您会发现有一个属性
disabled
,您可以将其设置为true
。从那一刻起,该用户将无法登录或刷新其ID令牌。但其现有ID令牌仍然有效,默认情况下,这意味着他们可能需要长达一小时的时间才能注销您的应用。如果您的用例需要考虑这个时间间隔,请查看managing user sessions相关文档,特别是关于检测ID令牌吊销的部分。虽然需要做更多工作,这允许您对令牌的到期进行更细粒度的控制。