Ich spiele mit der FirebaseUI-Android herum und habe eine Frage, welche ID verwendet werden soll, um Benutzer eindeutig zu identifizieren. Die FirebaseUI hat das Authentifizierungsrecht verwaltet und das Objekt IdpResponse
zurückgegeben. Dies kann z.B. Facebook, Twitter, Telefon und mehr. Vielen Dank an alle, die dahinter stehen.Benutzerdefinierte Firebase-Benutzeridentität, die den Firebase-Benutzer nicht verwendet
Da die FirebaseUser.getUid()
kann ändern, wenn Benutzer löschen/neu erstellen sein Konto daher möchte ich nicht meine Benutzerdaten mit dem FirebaseUser.getUid()
Token verknüpfen.
In Zukunft, wenn ich entscheide, Benutzer löschen dort Konto die Benutzer wird sich ändern, wenn Benutzer zurückkommen und alle Benutzerhistorie für diesen Benutzer in meinem System nicht mehr richtig zugreifen. Auch in Zukunft, wenn ich mein System zu einem Ort migrieren wird die UI nicht so praktisch sein, um richtig zu haben?
Jetzt habe ich diesen Wrapper (Code unten) erstellt, um eine eindeutige ID zu erstellen, die aus den Daten innerhalb der IdpResponse
extrapoliert wird. Weiß nicht wirklich, aber ich denke, dass es so eine Kollision geben wird, es sei denn, es gibt eine Google2.0, z. Twitter2.0 :) richtig. Und gleichzeitig ist es einfacher, Fehler im System zu entlarven, da die IDs nicht UUID sind.
Ist dies ein empfohlener Weg, um das Problem der Benutzer-ID zu behandeln. Ich brauche wirklich einige Rückmeldungen und Fallstricke Warnungen darüber.
@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;
}
Was ich am meisten mit dieser Mühe ist der Twitter oder Facebook, da ich immer noch die FirebaseUser.getUid()
verwenden. Ist die IdpResponse.getIdpToken()
besser für uns?
Dank dachte ich die gleiche Sache. –
Also, wenn du denkst, dass meine Antwort dir geholfen hat, denk bitte darüber nach, es anzunehmen und +1 zu geben. Vielen Dank! –