我有一个论坛,我试图使用firebase创建。只有在用户知道密码时才能访问某些子论坛。在加入时,客户端检索子论坛的密码,然后检查输入的密码是否正确。
有没有办法代替密码验证服务器端?
答案 0 :(得分:2)
我建议你使用不同的方法来解决这个问题。我建议您保留一个可以访问firebase中的子论坛的用户列表(只有管理员应该能够写入此列表)并使用firebase安全规则来检查是否有人可以读取/写入子论坛,而不是发出密码根据该清单。
您的子论坛的规则看起来有点像这样:
"-"
答案 1 :(得分:1)
您的情景非常糟糕。您想要取消用户名并且只有密码。如果您不识别论坛条目,您打算如何知道谁修改了论坛条目?
无论如何,对于你的问题,当匿名用户想要访问论坛时,你可以像下面那样冒充预先创建的用户 -
在firebase中启用电子邮件身份验证。
对于每个论坛密码,请使用这些值创建用户 -
username: forumName@yoursite.com
password: forumpassword
注意它的uid。
添加相应的uid作为孩子" uid"属性到相应的论坛。
为受密码保护的论坛添加简单的安全规则 -
"forums":{
"$subforum_id": {
".read": "auth.uid == data.child('uid')",
".write": "auth.uid == data.child('uid')"
}
}