【问题标题】:Firebase custom claims as a list + security rulesFirebase 自定义声明作为列表 + 安全规则
【发布时间】:2020-10-11 10:45:12
【问题描述】:

我正在考虑以下安全规则 + 自定义声明的结构:

auth.token.buckets = ['bucket1', 'bucket2', 'bucket3']

安全规则如下:

allow read if storage/{$bucket} is in auth.token.buckets

这可能吗?如果是这样,正确的语法是什么?

【问题讨论】:

    标签: firebase firebase-authentication firebase-storage firebase-security


    【解决方案1】:

    确实应该可以。

    • 正确的运算符是 in,因为您的令牌包含 list 的键。
    • 引用存储桶的正确方法是使用bucket,不使用${}

    所以总的规则可能是这样的:

    service firebase.storage {
      match /b/{bucket}/o {
        match /{path=**} {
          allow read: if bucket in auth.token.buckets;
        }
      }
    }
    

    请注意,您必须将存储桶的全名存储在令牌中,例如your-project-name.appspot.com

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 1970-01-01
      相关资源
      最近更新 更多