【发布时间】:2020-08-14 21:12:16
【问题描述】:
我正在为一个应用程序(在 firebase/firestore 中)构建一个管理 UI,它允许主管管理员访问他们团队的个人用户帐户并直接查看他们的仪表板/数据。由于这本质上与为不同的用户组创建管理员相同,我想它可以通过自定义声明来完成。问题是,在不削弱保护我们的用户帐户数据或将登录凭据存储在“管理员帐户”Firestore 配置文件文档中的 Firestore 规则的情况下,我无法实现这一点。有人可以帮助我了解我在这里缺少什么吗?谢谢!
这是我们现有的当前 Firestore 规则的 sn-p。
match /teams/{team}{
allow create
allow read: if (request.auth.token.role == 'member' || request.auth.token.role == 'supervisor') && request.auth.token.email_verified == true
allow update, delete: if (request.auth.token.role == 'member' || request.auth.token.role == 'supervisor') && request.auth.token.email_verified == true
}
match /supervisors/{supervisor}
{
allow create
allow read: if (request.auth.token.role == 'supervisor' || request.auth.token.role == 'member') && request.auth.token.email_verified == true
allow update, delete: if request.auth.token.role == 'supervisor' && request.auth.uid == supervisor && request.auth.token.email_verified == true
}
【问题讨论】:
标签: firebase google-cloud-firestore firebase-authentication