Как я могу установить контроль доступа на основе ролей в Android Firebase - PullRequest
0 голосов
/ 09 апреля 2019

Я использую базу огня, и я хочу разделить администратора и пользователей, и я хочу, чтобы администратор был направлен на конкретную деятельность, а пользователь - на другую. Как я могу выполнить это. Я пытался в методе аутентификации, но он не работает.

@Override
public void onComplete(@NonNull Task<AuthResult> task) {
    progBar.setVisibility(View.GONE);
    if (task.isSuccessful()) {
        startActivity(new Intent(getApplicationContext(), Admin.class))
    } else {

    }

1 Ответ

0 голосов
/ 09 апреля 2019

Firebase Authentication не имеет встроенной концепции пользователей-администраторов. Если вам это нужно, вы должны будете построить его поверх Firebase самостоятельно.

Типичным способом сделать это является добавление пользовательской заявки в профиль пользователя, когда этот пользователь является администратором. Вы можете сделать это с помощью Firebase Admin SDK с помощью чего-то простого:

admin.auth().setCustomUserClaims(uid, {admin: true})

Но учтите, что этот Admin SDK предназначен только для использования в надежных средах, таких как компьютер для разработки, сервер, которым вы управляете, или облачные функции. В противном случае любой может пометить себя администратором вашего приложения с помощью приведенного выше кода.

При наличии настраиваемой заявки ваш клиент может прочитать эту заявку (для распространения на клиентов требуется до часа) и показать правильный пользовательский интерфейс, основанный на этом.

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