как добавить пользователей в firestore, используя тот же идентификатор после аутентификации

# #javascript #react-native #firebase-authentication

Вопрос:

 const handleSignup = ()=>{
    auth()
    .createUserWithEmailAndPassword(email, password)
    .then((cred) => {
        console.log(cred);
        firestore()
        .collection('users')
        .doc(cred.uid)
        .set({
          display_name:username
        })
        .then(() => {
          console.log('User added!');
        });
    })
    .catch(error => {
        console.log(error.code);
        if (error.code === 'auth/user-not-found') {
          console.error('Invalid Email or password');
        }else
          console.error('Sorry an error occured');
    });
  };
 

Я использую приведенный выше код для хранения сведений о пользователе в firestore, и я хочу, чтобы документ совпадал с идентификатором учетных данных, который создается после аутентификации.Но идентификатор в документе полностью отличается от идентификатора cred.uid.Как это исправить?

Комментарии:

1. что делает cred консоль. отображение журнала? Я не уверен на 100%, но разве uid не хранится внутри cred.user.uid ? ( firebase.google.com/docs/auth/web/password-auth кажется, это говорит об одном и том же: использовать cred.user )

2. Да, я виноват! Теперь это работает. Спасибо.

3. Звучит как ответ @Berci 👍 🙂

Ответ №1:

Правильный синтаксис cred.user.uid (вместо cred.uid ). Для получения источника и дополнительной информации по этой теме проверьте документы проверки подлинности пароля firebase.

PS: На это уже был дан ответ в комментариях, но я также опубликовал ответ здесь, чтобы его было легче заметить (а также предположить, что на этот вопрос есть ответ. Спасибо @Frank van Puffelen за предложение).