2016-11-13 44 views
1

如果我有下面的代碼火力地堡Facebook登錄與重定向返回null電子郵件

function facebookSignin(){ 
 

 
    var provider = new firebase.auth.FacebookAuthProvider(); 
 
    provider.addScope('email'); 
 
    firebase.auth().signInWithRedirect(provider); 
 
    
 
} 
 

 
firebase.auth().getRedirectResult().then(function(result) { 
 

 
    if (result.credential) { 
 
     var token = result.credential.accessToken; 
 
    } 
 
    var user = result.user; 
 
    console.log(result); 
 

 
    }).catch(function(error) { 
 

 
    var errorCode = error.code; 
 
    var errorMessage = error.message; 
 
    var email = error.email; 
 
    var credential = error.credential; 
 
    console.log(errorMessage); 
 
    
 
    });

我想從Facebook登錄電子郵件但是當我打印的用戶對象,我得到一個null電子郵件。我已經包括在控制檯

screenshot

+0

看到與谷歌登錄相同的東西看到[這裏](http://stackoverflow.com/questions/40570200/firebase-facebook-login-with-redirect-returning-null-email) – Scott

回答

0

檢查firebase.auth的()。currentUser.providerData [0] .email內容打印的用戶對象的屏幕截圖。這應該顯示Facebook的電子郵件。您可以在Firebase控制檯中啓用「每封電子郵件有多個帳戶」。新項目的默認值是每個電子郵件的單個帳戶。對於從以前版本遷移Firebase項目,它們設置爲「每個電子郵件有多個帳戶」。這隻會設置firebase.auth()。currentUser.email的密碼帳戶。對於聯合帳戶,它設置爲空。還有另一種可能性,您使用的Facebook帳戶是電話號碼帳戶或選擇不透露電子郵件。

相關問題