gpt4 book ai didi

firebase - 有没有办法限制firebase中的注册

转载 作者:行者123 更新时间:2023-12-03 12:26:32 25 4
gpt4 key购买 nike

有没有办法限制用户注册 Firebase 电子邮件/密码帐户,使新用户无法注册?我有一个只有少数管理员需要访问的小应用程序(我已在 Firebase 管理员中手动创建),现在它的设置方式似乎任何人都可以注入(inject)一点 javascript 并注册一个帐户。

最佳答案

Firebase 简单登录是建立在 Firebase Custom Login 之上的抽象。为了方便。使用电子邮件/密码身份验证时,值得记住的是,这只是在该电子邮件和密码之间创建映射,并自动生成身份验证 token 以用于您的安全规则。

在您的特定情况下,如果已经创建了所有“管理员”用户,您可以通过安全规则实现您正在寻找的行为。例如,如果您只想允许该列表中经过身份验证的用户对您的 Firebase 数据树进行读/写访问,请尝试编写要求该用户位于“管理员”列表中的顶级读/写安全规则:

{
".read" : "auth != null && root.child('admins').hasChild(auth.uid)",
".write" : "auth != null && root.child('admins').hasChild(auth.uid)"
}

上面的这些规则确保用户经过身份验证(通过 auth != null )并要求经过身份验证的用户的 id 在管理员列表中( root.child('admins').hasChild(auth.uid) )。

最后一步是让这些用户成为管理员,将他们写入 admins子树。假设您有用户 1、4 和 7 作为管理员,更新您的数据树以反射(reflect)以下内容:
{
...
"admins": {
"1": true,
"4": true,
"7": true
}
}

因此,即使其他用户能够使用 Firebase 简单登录生成新的电子邮件/密码映射,这些映射也不会影响您的应用程序,因为它使用安全规则进行限制。

关于firebase - 有没有办法限制firebase中的注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21815229/

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