在Firebase存储规则中使用用户声明

时间:2019-06-25 09:12:16

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

是否可以在Firebase存储规则中使用自定义声明? 似乎无法从那里访问这些值。

这是我的规则:

match /b/{bucket}/o {    
  match /{userId}/files/{fileName} {
    allow read: if request.auth.token.admin == true;
  }
}

这些规则会引发错误:

  

错误:simulator.rules第[13]行,第[20]列。物业管理员现为   在对象上未定义。

我以前是这样设置userClaims的:

await admin.auth().setCustomUserClaims(user.uid, {
        groupToken: 'abecadlo',
        admin: true
    });

1 个答案:

答案 0 :(得分:0)

以下规则应消除警告:

    match /b/{bucket}/o {    
      match /{userId}/files/{fileName} {
        allow read: if "admin" in request.auth.token && request.auth.token.admin == true;
      }
    }