Firebase Authentication (несколько типов пользователей) - PullRequest
0 голосов
/ 27 апреля 2018

Я работаю над проектомact.js, который аутентифицируется с помощью firebase, но у меня есть 3 разных типа пользователей (супер-администратор, администратор поставщика, персонал поставщика) с различными привилегиями. как я могу аутентифицировать их из firebase и узнать, что это мой администратор venor или персонал продавца и т. д. ???? потому что firebase просто аутентифицирует одного типа пользователя!

Ответы [ 2 ]

0 голосов
/ 28 апреля 2018

Вы можете контролировать доступ через пользовательские заявки , используя 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",
    }
  }
}

Это упрощенный пример, поэтому вам придется дополнительно настраивать его в соответствии с потребностями вашего приложения.

0 голосов
/ 28 апреля 2018

Вы можете поддерживать таблицу users в своей базе данных, и каждый раз, когда вы регистрируете пользователя, просто добавляйте их туда, используя uid.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...