Firebase密码验证

时间:2016-05-08 09:45:13

标签: android firebase firebase-security

我有一个论坛,我试图使用firebase创建。只有在用户知道密码时才能访问某些子论坛。在加入时,客户端检索子论坛的密码,然后检查输入的密码是否正确。

有没有办法代替密码验证服务器端?

2 个答案:

答案 0 :(得分:2)

我建议你使用不同的方法来解决这个问题。我建议您保留一个可以访问firebase中的子论坛的用户列表(只有管理员应该能够写入此列表)并使用firebase安全规则来检查是否有人可以读取/写入子论坛,而不是发出密码根据该清单。

您的子论坛的规则看起来有点像这样:

"-"

答案 1 :(得分:1)

您的情景非常糟糕。您想要取消用户名并且只有密码。如果您不识别论坛条目,您打算如何知道谁修改了论坛条目?

无论如何,对于你的问题,当匿名用户想要访问论坛时,你可以像下面那样冒充预先创建的用户 -

  1. 在firebase中启用电子邮件身份验证。

  2. 对于每个论坛密码,请使用这些值创建用户 -

    username: forumName@yoursite.com
    password: forumpassword
    

    注意它的uid。

  3. 添加相应的uid作为孩子" uid"属性到相应的论坛。

  4. 为受密码保护的论坛添加简单的安全规则 -

    "forums":{
      "$subforum_id": {
        ".read": "auth.uid == data.child('uid')",
        ".write": "auth.uid == data.child('uid')"
      }
    }
    
  5. 现在,当匿名用户想要访问论坛时,她必须提供密码,您需要使用适当的用户名对她尝试访问的论坛进行硬编码。这样,您可以模仿匿名用户作为论坛用户,只要她知道密码。