Как прислушиваться к новым пользователям при использовании ListUsers () Firebase - PullRequest
0 голосов
/ 05 августа 2020

Административный SDK Firebase для Node.js предоставляет нам способ получения каждого пользователя в нашем проекте, как показано в документации здесь .

Я реализовал это самостоятельно код следующим образом:

const listAllUsers = (nextPageToken) => {
  return new Promise((resolve, reject) => {
    // List batch of users, 1000 at a time.
    const customerUIDs = []
    admin.auth().listUsers(1000, nextPageToken)
      .then((listUsersResult) => {
        listUsersResult.users.forEach((userRecord) => {
          // check for customers by their claims
          if (userRecord.toJSON().customClaims.customer) {
            customerUIDs.push(userRecord.toJSON().uid)
          }
        })
        if (listUsersResult.pageToken) {
          // List next batch of users.
          listAllUsers(listUsersResult.pageToken)
        }
        resolve(customerUIDs)
      })
      .catch((error) => {
        reject(error)
      })
    })
}
...
// some
// more 
// code

NB: при создании пользователя мы назначаем настраиваемые утверждения customer: true, чтобы указать, что пользователь является клиентом, а не администратором. Это происходит в моих облачных функциях, поэтому нет необходимости вставлять его сюда снова.

Мой вопрос: : Эта функция, приведенная выше, является одноразовой операцией. Как мне прослушать новых пользователей и добавить их в массив customerUIDs?

1 Ответ

0 голосов
/ 05 августа 2020

Admin SDK не обеспечивает никакого способа прослушивания новых пользователей.

Если вы хотите написать код, который запускается при создании новой учетной записи пользователя, вам следует изучить возможность использования Триггер аутентификации предоставляется Cloud Functions .

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