Должен ли firebase auth onCreate иметь больше данных? - PullRequest
0 голосов
/ 20 ноября 2018

Я использую functions.auth.user().onCreate() как часть проекта Firestore и пытаюсь настроить некоторые данные по умолчанию при регистрации нового пользователя.В качестве внешнего интерфейса я использую firebase-ui с включенными провайдерами Google и электронной почты / паролей.

Когда я вхожу в систему с помощью электронной почты и пароля, виджет пользовательского интерфейса предлагает ввести имя и установить пароль.,Я ожидал увидеть имя как часть параметра user в вызове функции onCreate(), но практически ничего не получаю:

user: { email: 'xxx@yyyy.co.uk',
  emailVerified: false,
  displayName: null,
  photoURL: null,
  phoneNumber: null,
  disabled: false,
  providerData: [],
  customClaims: {},
  passwordSalt: null,
  passwordHash: null,
  tokensValidAfterTime: null,
  metadata: 
   UserRecordMetadata {
     creationTime: '2018-11-20T15:06:01Z',
     lastSignInTime: '2018-11-20T15:06:01Z' },
  uid: 'QDJ5OJTwbvNo2QNDVQV9VsxC2pz2',
  toJSON: [Function] }

Даже не получаю информацию о провайдере, чтобы я мог сказатькакой «вид» пользователя зарегистрирован.Это похоже на то, что эта функция срабатывает до того, как будет заполнена запись пользователя (за исключением того, что адрес электронной почты не проходит).Кроме того, для регистрации через провайдера Google используется полностью заполненная запись user, поэтому я полагаю, что это проблема именно электронной почты / пароля.

Это ошибка или я что-то упустил?Я также не увидел ничего полезного в параметре context.

1 Ответ

0 голосов
/ 20 ноября 2018

Ожидается, что displayName не заполнен в облачных функциях onCreate триггер для электронной почты + пароль.Функция запускается из первого вызова API (createUserWithEmailAndPassword()), а отображаемое имя задается вторым вызовом API (updateProfile).

Обычный обходной путь - создание облачной функции для обновления.профиль пользователя, как показано здесь: Firebase Auth + Функции |создать пользователя с displayName

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

...