我正在玩弄FirebaseUI-Android,並且對唯一標識用戶時使用的ID有疑問。 FirebaseUI管理身份驗證權並返回IdpResponse
對象。這可以是例如臉書,推特,手機等等。這是感謝所有背後的人。自定義Firebase用戶身份不使用Firebase用戶uid
因爲FirebaseUser.getUid()
可以改變,當用戶刪除/重新創建他的帳戶,因此我不想鏈接我的用戶數據與FirebaseUser.getUid()
令牌。
未來,如果我決定讓用戶在那裏擦拭帳戶,當用戶返回時,用戶的所有用戶歷史記錄都將無法訪問。同樣在未來,如果我將我的系統遷移到某個地方,那麼uid不會那麼方便地擁有權利嗎?
現在我創建了這個包裝器(下面的代碼)來創建一個從IdpResponse
中的數據外推的唯一ID。真的不知道,但我想這樣做,除非有Google 2.0,否則不會有「身份證」衝突。 Twitter2.0 :)正確。同時,更容易在系統中排除錯誤,因爲id不是UUID。
這是處理用戶ID問題的推薦方法。我真的需要一些反饋和陷阱來警告這件事。
@Override
public String getUserId() {
String userId;
FirebaseUser user = getInstance().getCurrentUser();
if (user.getEmail() != null)
// User sign in with E-Mail
userId = user.getEmail().replace(".", ",");
else if (user.getPhoneNumber() != null){
// User sign in with Phone
userId = user.getPhoneNumber();
}else
// User sign in with Twitter or Facebook
userId = user.getUid();
return userId;
}
最令打擾我,這是Twitter或Facebook,因爲我仍然要使用FirebaseUser.getUid()
。 IdpResponse.getIdpToken()
對我們更好嗎?
謝謝我在想同樣的事情。 –
所以,如果您認爲我的回答對您有幫助,請考慮接受並給予+1。謝謝! –