簡體   English   中英

如何使用Firebase UI在Firebase中訪問電子郵件帳戶的isNewUser?

[英]How can I access isNewUser of email account in Firebase with Firebase UI?

當前,此代碼生成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; 
            }
        }
    }

您必須使用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;
      },
      ...
    },
    ...
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM