匿名提交表单的安全规则(AngularFire)



在阅读了Firebase的安全文档后,我对如何正确配置我网站上的时事通讯注册框的Firebase安全感到困惑。我希望公众能够匿名提交他们的注册数据,但不看到其他人的提交。

我认为这就像撤销读权限一样简单:

"rules": {
    ".read": false,
    ".write": true
}

但是在AngularFire中,似乎需要read特权来知道用户提交时是否有成功/错误,因为我得到错误。

因此,我想我的问题是:我如何配置安全,允许匿名用户只看到他们的数据提交,而不是其他人的?

在Firebase文档的另一个部分找到了我的答案:匿名身份验证。

我没有意识到匿名用户可以通过一次性身份验证方法进行身份验证。因此,安全规则将遵循他们发布的示例:

{
  "rules": {
    "users": {
      "$uid": {
        // grants write access to the owner of this user account whose uid must exactly match the key ($uid)
        ".write": "auth !== null && auth.uid === $uid",
        // grants read access to any user who is logged in anonymously
        ".read": "auth !== null && auth.provider === 'anonymous'"
      }
    }
  }
}

相关内容

  • 没有找到相关文章

最新更新