有没有办法在 firebase 存储规则中验证用户角色?

Ahs*_*san 5 firebase firebase-security firebase-authentication firebase-realtime-database firebase-storage

我正在尝试根据用户角色限制 Firebase 存储。

Database:
    users
        <uid>
            admin=false
            ... ... ...
Run Code Online (Sandbox Code Playgroud)

我正在尝试在 firebase 存储中使用以下类型的规则:

root.child('users').child(auth.uid).child('user').child('admin').val() == true
Run Code Online (Sandbox Code Playgroud)

将此添加到写入规则后,我的访问被拒绝。

谢谢。

Ahs*_*san 2

正如 Frank van Puffelen 在评论中指出的那样:

function isAdminUser() {
    return request.auth.uid in {
        "yaddayadddayaddUserIDKey":"User Name1"
    };
}

service firebase.storage {
    match /b/<appName>.appspot.com/o {
        match /{allPaths=**} {
            allow read;
            allow write: if request.auth != null && isAdminUser();
        }
   }
}
Run Code Online (Sandbox Code Playgroud)

  • is admin 函数似乎是硬编码值。这是目前唯一的选择吗? (2认同)

归档时间:

查看次数:

3711 次

最近记录:

9 年,9 月 前