Ошибка firebase.auth (). signInWithCredential не имеет свойств электронной почты / учетных данных - PullRequest
0 голосов
/ 18 сентября 2019

Я получаю сообщение об ошибке 'аутентификация / учетная запись-существует-с-разными-учетными данными' при использовании firebase.auth().signInWithCredential(credential).catch(error => ....

Как указано в: Firebase JS API auth -account-существующие-with-different-credential Я улавливаю ошибку и затем делаю это, чтобы устранить исключение:

firebase.auth().fetchSignInMethodsForEmail(error.email)
   .then(providers => {
      firebase.auth().signInWithCredential(credential)
         .then(user => {
            user.linkWithCredential(error.credential)
         })
   })
   ...

Проблема заключается в том, что мой объект ошибки не содержит адреса электронной почты или учетных данных.Он содержит только: code, framesToPop, nativeStackAndroid и userInfo (который имеет значение null).

Это мой код:

const result = await LoginManager.logInWithPermissions(['public_profile', 'email']);

const data = await AccessToken.getCurrentAccessToken();

if (data) {
    const credential = firebase.auth.FacebookAuthProvider.credential(data.accessToken);

    firebase.auth().signInWithCredential(credential).catch(error => {
      if (errorCode === 'auth/account-exists-with-different-credential') {
        firebase.auth().fetchSignInMethodsForEmail(error.email)
           .then(providers => {
                firebase.auth().signInWithCredential(credential)
                  .then(user => {
                    user.linkWithCredential(error.credential)
                  })
            }).catch(error => log(error))
      } else {
        console.error(error);
      }
    });
}
...

Почему это происходит?

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