2017-07-02 35 views
0

我已經成功實施了使用Firebase的電子郵件和Facebook登錄身份驗證。我現在想允許電子郵件用戶將他們的賬戶與Facebook連接起來。將Facebook用戶與Firebase密碼用戶鏈接

我對這個下面的代碼:

let credential = FacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString) 

if let user = Auth.auth().currentUser { 
    user.link(with: credential, completion: { user, error in 
     // 
    }) 
} 

的鏈接的作品,但返回的用戶沒有顯示名也不photoUrl。用戶通過Auth.auth().currentUser訪問完成塊或通過Auth.auth().currentUser訪問用戶時返回。

儘管直接使用Facebook進行身份驗證,但用戶確實擁有displayName和photoUrl。不確定爲什麼這些屬性在連接帳戶時爲零。有任何想法嗎?

回答

0

我假設您先用電子郵件/密碼註冊用戶,然後將Facebook鏈接到他們的帳戶。 Firebase身份驗證後端不會將Facebook個人資料數據複製到頂級displayNamephotoURL。 但是,這個解決方案非常簡單,您可以在鏈接之後複製Facebook的的Facebook displayName和photoURL,並使用currentUser.createProfileChangeRequest()更新currentUser上的displayNamephotoURL

+0

謝謝,非常有幫助 –

+0

不客氣。 – bojeil

相關問題