У меня есть облачная функция, которая запускается при создании пользователя Auth. Я просматриваю данные пользователя (адрес электронной почты, имя и т. Д.), Чтобы заполнить мою БД Он внезапно перестал работать для типа провайдера аутентификации 'email / password'. Admin.auth (). GetUser (uid) теперь возвращает userRecord, которая содержит неопределенные / нулевые значения для большинства полей. Это, казалось бы, перестало работать из ниоткуда в Производстве после нескольких недель работы, есть ли какое-либо возможное объяснение?
exports.createUser = functions.auth.user().onCreate((user) => {
return createEmailUser(user);
});
function createEmailUser(user) {
const uid = user.uid;
return admin.auth().getUser(uid)
.then(function(userRecord) {
console.log(userRecord);
const email = userRecord.email;
const fullName = userRecord.displayName;
admin.database().ref('users/' + uid).set({
email: email,
name: fullName
});
})
.catch(function(error) {
console.log("Error fetching user data:", error);
});
}
В прошлом объект userRecord содержал допустимые значения email и displayName. Теперь я вижу такой объект:
UserRecord {
uid: 'Lrtj8zafsnYjZl4ckMgwNkgEiVH2',
email: undefined,
emailVerified: false,
displayName: undefined,
photoURL: undefined,
phoneNumber: undefined,
disabled: false,
metadata:
UserMetadata {
creationTime: 'Wed, 09 Jan 2019 21:40:31 GMT',
lastSignInTime: null },
providerData: [],
passwordHash: undefined,
passwordSalt: undefined,
customClaims: undefined,
tokensValidAfterTime: 'Wed, 09 Jan 2019 21:40:31 GMT' }