繁体   English   中英

Firebase 密码验证

[英]Firebase password validation

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

有没有办法在服务器端进行密码验证?

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

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

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

你的场景很古怪。 您希望取消用户名而只使用密码。 如果您不识别他们,您打算如何知道谁修改了论坛条目?

无论如何,根据您的要求,您可以像下面这样在匿名用户想要访问论坛时模拟预先创建的用户 -

  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. 现在,当匿名用户想要访问论坛时,她必须提供密码,并且您需要使用适合她尝试访问的论坛的用户名对用户名进行硬编码。 通过这种方式,您可以将匿名用户冒充为论坛用户,前提是她知道密码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM