Как я могу получить доступ к isNewUser учетной записи электронной почты в Firebase с интерфейсом Firebase? - PullRequest
0 голосов
/ 01 сентября 2018

В настоящее время этот код выдает сообщение об ошибке Firebase, которое гласит: «Невозможно получить свойство isNewUser с неопределенной или нулевой ссылкой». Как я могу это исправить, то есть как я могу узнать, является ли пользователь новым пользователем при входе в систему?

var uiConfig = {
        signInSuccessUrl: false,
        signInOptions: [
           firebase.auth.EmailAuthProvider.PROVIDER_ID
        ],
        tosUrl: '',
        'credentialHelper': firebaseui.auth.CredentialHelper.NONE,
        privacyPolicyUrl: function() {
          window.location.assign('');
        },
        'callbacks': { 'signInSuccess': function(user, credential, redirectUrl) {
                if (user) {
                  var displayName = user.displayName;
                  var email = user.email;
                  var emailVerified = user.emailVerified;
                  var photoURL = user.photoURL;
                  var uid = user.uid;
                  var phoneNumber = user.phoneNumber;
                  var providerData = user.providerData;
                  user.getIdToken().then(function(accessToken) {
                    $("#message").text(uid);
                  });
                  if(firebase.auth.AdditionalUserInfo.isNewUser) {

                    db.collection("users").doc(uid).set({
                        firstName: displayName
                    });
                  }
                } else {
                  $("#message").text('signed out');
                }
                return false; 
            }
        }
    }

1 Ответ

0 голосов
/ 04 сентября 2018

Вы должны использовать обратный вызов signInSuccessWithAuthResult, представленный в v2.7.0

var uiConfig = {
    callbacks: {
      signInSuccessWithAuthResult: function(authResult, redirectUrl) {
        var user = authResult.user;
        var credential = authResult.credential;
        // Determine if user is new or existing.
        var isNewUser = authResult.additionalUserInfo.isNewUser;
        var providerId = authResult.additionalUserInfo.providerId;
        var operationType = authResult.operationType;
        return false;
      },
      ...
    },
    ...
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...