Вы можете контролировать доступ через пользовательские заявки , используя Firebase Admin SDK на своем собственном сервере через Облачные функции для Firebase .
Установите для сервера заявок определенную ставку с помощью метода, подобного следующему:
admin.auth().setCustomUserClaims(uid, {admin: true}).then(() => {
// The new custom claims will propagate to the user's ID token the
// next time a new one is issued.
});
Затем настройте базу данных со структурой, которая разделяет содержимое администратора и администратора поставщика:
/
/admin
/data for admins here
/vendorAdmin
/ data for vendor admins here
/staff
// data for staff here, or perhaps this data is accessible to all since the admins may need access to it.
В консоли Firebase настройте правила, чтобы ограничить эти местоположения теми, кто включает в себя правильное утверждение:
{
"rules": {
"admin": {
".read": "auth.token.admin === true",
".write": "auth.token.admin === true",
}
"vendorAdmin": {
".read": "auth.token.vendoradmin === true",
".write": "auth.token.vendoradmin === true",
}
"staff": {
".read": "auth.token.staff === true",
".write": "auth.token.staff === true",
}
}
}
Это упрощенный пример, поэтому вам придется дополнительно настраивать его в соответствии с потребностями вашего приложения.