如何在Firebase Storage上实现访问控制权限?

时间:2019-07-05 04:18:55

标签: firebase google-cloud-storage firebase-storage firebase-security-rules

我们将用户权限存储在声明中。

企业客户的索赔如下:

{"roles": ["enterprise"]}

然后,根据Firebase存储的规则,我们尝试在授予客户访问某些文件的权限之前检查其是否为企业用户:

function isEnterprise() {
  return (request.auth.token.roles) && ("enterprise" in request.auth.token.roles);
}

然后,当用户尝试使用getDownloadURL从Web检索文件的下载URL时,Firebase会抛出权限错误。

能否请您提供解决方案?

1 个答案:

答案 0 :(得分:2)

解决此问题:

function isEnterprise() {
  return request.auth.token.roles.hasAny(['enterprise']);
}