Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Se l'app client Firebase comunica con un server di backend personalizzato, potresti dover identificare l'utente che ha eseguito l'accesso al server. Per farlo in modo sicuro, dopo un accesso riuscito, invia il token ID dell'utente al tuo server utilizzando HTTPS. Poi, sul server, verifica l'integrità e l'autenticità del
token ID e recupera da esso il uid. Puoi utilizzare il uid trasmesso in questo modo per identificare in modo sicuro l'utente che ha eseguito l'accesso al tuo server.
Prima di iniziare
Per verificare i token ID con l'SDK Firebase Admin, devi disporre di un account di servizio. Segui le istruzioni di configurazione di SDK Admin per
maggiori informazioni su come inizializzare SDK Admin con un account di servizio.
Recuperare i token di identità sui client
Quando un utente o un dispositivo accede correttamente, Firebase crea un token ID corrispondente che lo identifica in modo univoco e gli concede l'accesso a diverse risorse, come Firebase Realtime Database e Cloud Storage. Puoi riutilizzare questo token ID per identificare l'utente o il dispositivo sul server di backend personalizzato. Per recuperare il token ID dal client, assicurati che l'utente abbia eseguito l'accesso, quindi recupera il token ID dall'utente che ha eseguito l'accesso:
iOS+
Objective-C
FIRUser*currentUser=[FIRAuthauth].currentUser;[currentUsergetIDTokenForcingRefresh:YEScompletion:^(NSString*_NullableidToken,NSError*_Nullableerror){if(error){// Handle errorreturn;}// Send token to your backend via HTTPS// ...}];
Swift
let currentUser = FIRAuth.auth()?.currentUser
currentUser?.getIDTokenForcingRefresh(true) { idToken, error in
if let error = error {
// Handle error
return;
}
// Send token to your backend via HTTPS
// ...
}
Firebase.Auth.FirebaseUseruser=auth.CurrentUser;user.TokenAsync(true).ContinueWith(task=>{if(task.IsCanceled){Debug.LogError("TokenAsync was canceled.");return;}if(task.IsFaulted){Debug.LogError("TokenAsync encountered an error: "+task.Exception);return;}stringidToken=task.Result;// Send token to your backend via HTTPS// ...});
C++
firebase::auth::Useruser=auth->current_user();if(user.is_valid()){firebase::Future<std::string>idToken=user.GetToken(true);// Send token to your backend via HTTPS// ...}
Web
firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idToken) {
// Send token to your backend via HTTPS
// ...
}).catch(function(error) {
// Handle error
});
Una volta ottenuto un token ID, puoi inviare il JWT al tuo backend e convalidarlo utilizzando l'SDK Firebase Admin o una libreria JWT di terze parti se il tuo server è scritto in un linguaggio non supportato in modo nativo da Firebase.
Verificare i token ID utilizzando l'SDK Firebase Admin
L'SDK Firebase Admin dispone di un metodo integrato per la verifica e la decodifica dei token ID. Se il token ID fornito ha il formato corretto, non è scaduto ed è firmato correttamente, il metodo restituisce il token ID decodificato. Puoi recuperare il valore uid dell'utente o del dispositivo dal token decodificato.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-11-06 UTC."],[],[]]