Gre*_*reg 4 firebase firebase-security
我正在使用Firebase的简单登录电子邮件/密码身份验证功能.
我想通过锻造来管理用户只.我不希望通过客户端应用程序创建用户.
但是我仍然希望让他们登录/注销.
这可能吗?
您无法使用简单登录阻止在客户端上创建用户.您可以使用两种选择:
简单登录"帐户"实际上只是令牌
简单登录只是一个创建Firebase令牌的便利包装器.对于可以存储的帐户数量没有限制,它们对您的Firebase使用情况没有影响.考虑到这一点,您无需限制帐户创建.
相反,只需利用安全规则来控制对数据的访问.当管理员创建帐户时,让他们也在数据中添加配置文件.如果只允许Forge中的管理员创建配置文件,那么有人可以创建一个帐户,但这将是多余的,没有意义,因为它只是给它们一个惰性令牌.
用于强制访问数据的安全规则:
".write": "root.child('valid_account/'+auth.uid).exists()"
Run Code Online (Sandbox Code Playgroud)
一个安全规则,允许用户编辑他们的配置文件,但只有Forge(admin:true)来创建它们:
"profiles": {
"$uid": {
".write": "data.exists() && auth.uid === $uid && newData.exists()"
}
}
Run Code Online (Sandbox Code Playgroud)
创建自己的令牌可以完全控制
如果你非常强迫OCD并且不喜欢这种方法,那么你可以减少简单登录.如前所述,它只是代表您创建令牌.所以只需创建自己的.
通过这种方式,您可以完全控制帐户创建和令牌生成.
| 归档时间: |
|
| 查看次数: |
2813 次 |
| 最近记录: |