Firestore (Angularfire) добавить пользователя в качестве "администратора" - PullRequest
0 голосов
/ 02 ноября 2019

Мне нужно иметь возможность создавать учетные записи для пользователей и предоставлять им учетные записи. Таким образом, учетные записи должны быть созданы администратором какой-либо компании, пользователи войдут в систему с этой учетной записью, а затем они смогут изменить пароль.

Я нашел одно решение, с Admin SDK но если я правильно понимаю, вам нужен собственный бэкэнд.

Есть ли другой способ? Или у вас есть другое предложение, как справиться с этим? По сути, предполагается, что пользователь связан с компанией. И у него есть роль в этой компании. Администратор компании выбирает роль для каждого пользователя.

1 Ответ

0 голосов
/ 08 ноября 2019

Обычный способ - использовать Admin SDK в функции вызываемого облака для этого. Это довольно просто.

Если вы делаете это из внешнего интерфейса при создании пользователя, пользователь admin выходит из системы, а новый пользователь входит в систему.

Однако существует взломсделать это из внешнего интерфейса, не выходя из системы, с помощью дополнительного приложения Firebase, например ниже.

import * as firebase from 'firebase/app';
const secondaryApp = firebase.initializeApp(environment.firebase, 'Secondary');

async registerUser(email, password: string) {
      try {
        const userCredential = await secondaryApp.auth().createUserWithEmailAndPassword(email, password)
        secondaryApp.auth().signOut(); // signout the user that was just created
        // If you wanted to create a document for the user in firestore then you could do it here.
        return userCredential;
      } catch (err) {
        throw err;
      }
    }

...