我正在使用來自google的firebase,並且我在用戶身份驗證方面遇到了一些問題。在使用Facebook登錄後,我在AuthStateListener中獲取了FirebaseUser,但是如何檢測此用戶是通過Facebook還是以不同方式登錄?如何確定Firebase用戶是否使用Facebook身份驗證登錄
UPDATE 作爲@Frank麪包車Puffelen說FirebaseAuth.getInstance()。getCurrentUser()。getProviderId() 應該返回 「臉譜」,但在我的情況下,它會返回 「火力點」。現在我無法弄清楚這是什麼原因。當我FacebookToken我做這樣的事情:
AuthCredential credential = FacebookAuthProvider.getCredential(facebookToken.getToken());
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
// If sign in fails, display a message to the user. If sign in succeeds
// the auth state listener will be notified and logic to handle the
// signed in user can be handled in the listener.
if (!task.isSuccessful()) {
}
}
});
而且afterthat叫的onComplete()方法之前,我AuthStateListener獲取用戶,其供應商ID是不是「臉譜」理所應當的。難道我做錯了什麼?我遵循官方谷歌documentation
我相信FirebaseUser.getProviderId()將返回「facebook.com」,但我無法測試它,因爲我的應用程序不使用Facebook。如果可以的話,也許試試吧? –
請看我的更新問題。 – Taldakus