1

你能幫我嗎?我無法在Angularfire身份驗證中獲取用戶的個人資料信息,例如他們的Facebook個人資料圖片或Facebook名稱。請幫忙。非常感謝!使用Angular2獲取用戶Auth個人資料信息Firebase

我試過這段代碼,但它不工作。我使用Angular 2 TypeScript。

var user = firebase.auth().currentUser; 
var name, email, photoUrl, uid; 

if (user != null) { 
    name = user.displayName; 
    email = user.email; 
    photoUrl = user.photoURL; 
    uid = user.uid; // The user's ID, unique to the Firebase project. Do NOT use 
        // this value to authenticate with your backend server, if 
        // you have one. Use User.getToken() instead. 
} 
+0

似乎有一些代碼缺失? –

+0

這是一個firebase中的示例代碼。我搜索它的角度,我什麼也沒找到。請幫忙。謝謝! –

回答

1

當您使用Angularfire2這應該是這樣:

constructor(public af: AngularFire) { 
    this.af.auth.subscribe(auth => { 
    //Here you get the user information 
    console.log(auth)); 
    } 
    } 
    login() { 
    this.af.auth.login({ 
     provider: AuthProviders.Facebook, 
     method: AuthMethods.Popup, 
    }); 
    } 

看看這裏瞭解更多信息:https://angularfire2.com/api/

+0

這是舊的SDK,OP正在使用新的SDK。 –

+0

謝謝,你是對的。我更新了我的答案。 – muetzerich

+0

幹得好。但這是Javascript SDK,OP說他正在使用AngularFire2 –

3

正如你可以在示例應用程序看到here部分,您可以使用auth.subscribe來檢測auth狀態:

export class myClass { 
    constructor(public af: AngularFire) { 
    this.af.auth.subscribe(auth => { 
     if(auth) { 
      console.log('You are authenticated', auth) 
     } else { 
      console.log('You are not authenticated') 
     } 

    }); 
    } 
} 
相關問題