【问题标题】:Why do contents only show up for one user at a time while using firebase authentication?为什么在使用 Firebase 身份验证时内容一次只显示给一个用户?
【发布时间】:2019-01-02 00:45:47
【问题描述】:

我想知道为什么内容一次只显示给一个用户。

例如:如果personA@gmail.com 已登录,则在浏览器上上传文件以供其他用户查看,然后personA@gmail.com 决定出于任何原因注销。现在,personB@gmail.com 登录。如何让登录后personB@gmail.com 可以看到personA@gmail.com 上传的内容(文件)?

我不太确定要搜索什么,所以我在这里问这个。

下面的安全文件:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if true;
    }
  }
}

【问题讨论】:

  • 你能分享你的安全规则文件吗?
  • @Jonathan 当然,我很想,但在哪里可以找到?
  • 如果你进入 firebase 控制台 -> 存储 -> 规则。在这里您可以设置存储安全的所有规则
  • 请使用您保存文件和检索文件的规则和结构更新您的问题。
  • @Jonathan Done。我发布了安全规则文件。

标签: javascript reactjs firebase firebase-storage


【解决方案1】:

用于调整规则的安全性,在这种情况下您需要这样做。要将文件锁定给经过身份验证的用户,请使用:

service firebase.storage {
  match /b/{bucket}/o {
   match /{allPaths=**} {
     allow read, write: if request.auth!=null;
   }
 }
}

这里也有一些很棒的文档Storage Security Documentation

【讨论】:

  • 那么使用您刚刚提供的 sn-p,这将满足我所指的场景,正确吗?
  • 我提供的代码只是为了让经过身份验证的用户查看文件的安全性。从您的问题来看,您似乎希望用户 B 查看用户 A 的文件。很可能是您用于读取文件的路径的问题。从您更新的代码示例中,我无法判断该路径是什么。
  • 是的,您的意思是使用您提供的安全码,经过身份验证的用户现在可以看到彼此上传的内容,而我提供的安全码不允许这样做,对吗?
  • 您的安全规则允许未经授权的用户上传和读取文件。
  • 好的,那么您的安全规则究竟是做什么的?只允许通过身份验证查看上传的文件,对吧?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-23
  • 1970-01-01
  • 2018-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-29
相关资源
最近更新 更多