W tym fragmencie kodu (Firebase doc) zostały wymienione nie używać user.getUid() do uwierzytelniania serwera zaplecza. zamiast tego użyj FirebaseUser.getToken().Dlaczego nie możemy użyć getuid() do uwierzytelniania serwera backend w Firebase uwierzytelniania
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
// Name, email address, and profile photo Url
String name = user.getDisplayName();
String email = user.getEmail();
Uri photoUrl = user.getPhotoUrl();
// 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
// FirebaseUser.getToken() instead.
String uid = user.getUid();
}
getUid() A unique user ID, intended as the user's unique key across all providers.
getToken() The Firebase authentication token for this session.
Moje żądanie to.
- Najpierw zarejestruję użytkownika za pomocą metody uwierzytelniania firebase (e-mail i hasło).
- Będę zapisywać String uid = user.getUid(); w moim własnym serwerze zaplecza po pomyślnej rejestracji.
- Informacje o stanie użytkownika mówią, że saldo użytkownika jest zapisywane na moim serwerze wewnętrznym jako key user.getUid().
- Logowanie użytkownika za pomocą wiadomości e-mail i hasła oraz pytanie o saldo konta.
- dostanę user.getUid() z Firebase i meczu z moich płyt, jeśli mecz znaleźć równowagę powraca do użytkownika.
Powiedzieli, że getUid() jest unikalnym identyfikatorem użytkownika, ale NIE używaj tej wartości do uwierzytelniania na serwerze zaplecza.
Dlaczego tak? Dlaczego nie możemy użyć metody getUid() do uwierzytelnienia z serwerem zaplecza?
czy znalazłeś odpowiedzi na swoje pytanie? Planuję zrobić dokładnie to samo i nie znajduję problemu w procesie myślenia, który mamy – Snake