Introduzione all'API Admin Auth
Identity Platform è basata su un'infrastruttura avanzata che supporta l'autenticazione degli utenti alle tue app e ai tuoi servizi. Puoi utilizzare l'SDK Firebase Admin per integrare i tuoi server con Identity Platform e gestire gli utenti o i token di autenticazione. Esistono diversi motivi per farlo:
Gestione utenti
Non è sempre pratico dover visitare la console Google Cloud per gestire gli utenti di Identity Platform. L'API di gestione degli utenti amministratore fornisce accesso programmatico a questi stessi utenti. Ti consente persino di svolgere operazioni che la console Google Cloud non può, ad esempio recuperare i dati completi di un utente e modificare la password, l'indirizzo email o il numero di telefono di un utente.
Autenticazione personalizzata
Puoi integrare un sistema utente esterno con Identity Platform. Ad esempio, potresti avere già un database utente preesistente o potresti voler eseguire l'integrazione con un provider di identità di terze parti non supportato in modo nativo da Identity Platform.
A questo scopo, puoi creare token personalizzati con rivendicazioni arbitrarie che identificano l'utente. Questi token personalizzati possono essere utilizzati per accedere al servizio Identity Platform su un'applicazione client e assumere l'identità descritta dai claim del token. Questa identità verrà poi utilizzata per accedere ad altri servizi Identity Platform, come Cloud Storage.
Verifica dell'identità
Identity Platform viene utilizzata principalmente per identificare gli utenti della tua app al fine di limitare l'accesso ad altri servizi, come Cloud Storage. Puoi anche utilizzare il servizio per identificare questi utenti sul tuo server. In questo modo, puoi eseguire in modo sicuro la logica lato server per conto degli utenti che hanno eseguito l'accesso con Identity Platform.
Per farlo, puoi recuperare un token ID da un'applicazione client che ha eseguito l'accesso con Identity Platform e includerlo in una richiesta al tuo server. Il server verifica quindi il token ID ed estrae le rivendicazioni che identificano l'utente (incluso il suo uid
, il provider di identità con cui ha eseguito l'accesso e così via). Queste informazioni sull'identità possono essere utilizzate dal server per eseguire azioni per conto dell'utente.
L'SDK Firebase Admin fornisce metodi per svolgere le attività di autenticazione sopra indicate consentendoti di gestire gli utenti, generare token personalizzati e verificare i token ID.
Rivendicazioni utente personalizzate
In alcuni casi, potresti voler implementare controllo dell'accesso granulare per gli utenti che hanno già eseguito l'accesso con uno dei provider di autenticazione Identity Platform supportati, come email/password, Google, Facebook, telefono e così via. Questa funzionalità è fornita da una combinazione di rivendicazioni utente personalizzate e regole di sicurezza delle applicazioni. Ad esempio, un utente che ha eseguito l'accesso con il provider di identità tramite email e password di Identity Platform può avere il controllo dell'accesso dell'accesso definito utilizzando claim personalizzati.
Gestione utenti
L'SDK Firebase Admin fornisce un'API per gestire gli utenti di Identity Platform con privilegi elevati. L'API di gestione degli utenti amministratore consente di recuperare, creare, aggiornare ed eliminare utente in modo programmatico senza richiedere le credenziali esistenti di un utente e senza preoccuparsi del limitazione di frequenza lato client.
Gestire gli utentiCreazione di token personalizzati
Lo scopo principale della creazione di token personalizzati è consentire agli utenti di autenticarsi nei confronti di un meccanismo di autenticazione esterno o precedente. Potrebbe trattarsi di un provider di cui hai il controllo, ad esempio il tuo server LDAP, o di un provider OAuth di terze parti non supportato nativamente da Identity Platform, come Instagram o LinkedIn.
L'SDK Firebase Admin dispone di un metodo integrato per la creazione di token personalizzati. Puoi anche creare token personalizzati in modo programmatico in qualsiasi linguaggio utilizzando librerie JWT di terze parti.
Il server deve creare un token personalizzato con un identificatore univoco (uid
) e passarlo a un'app client, che lo utilizzerà per accedere a Identity Platform. Consulta
Creare token personalizzati
per esempi di codice e ulteriori dettagli sulla procedura di creazione dei token personalizzati.
Verifica del token di identità
Se l'app client di Identity Platform comunica con il tuo server di backend, potresti dover identificare l'utente attualmente connesso sul server in modo da poter eseguire la logica lato server per suo conto. Puoi farlo in modo sicuro utilizzando i token ID, che vengono creati da Identity Platform quando un utente accede a un' app Identity Platform. I token ID sono conformi alla specifica OpenID Connect e contengono dati per identificare un utente, nonché alcune altre informazioni relative al profilo e all'autenticazione. Puoi inviare, verificare e ispezionare questi token dai tuoi backend. In questo modo puoi identificare in modo sicuro l'utente che ha eseguito l'accesso e autorizzarlo alle tue risorse di backend.
L'SDK Firebase Admin dispone di un metodo integrato per la verifica degli ID token. Puoi anche verificare in modo programmatico i token ID in qualsiasi linguaggio utilizzando librerie JWT di terze parti. Per ulteriori dettagli e esempi di codice sulla procedura di verifica dei token ID, consulta Verificare i token ID.
Dichiarazioni utente personalizzate
L'SDK Firebase Admin ti consente di impostare attributi personalizzati sugli account utente. Con i claim utente personalizzati, puoi assegnare agli utenti diversi livelli di accesso (ruoli), che vengono poi applicati nelle regole di sicurezza di un'applicazione.
Dopo che i claim personalizzati sono stati modificati su un utente tramite l'SDK di Firebase Admin, vengono propagati agli utenti autenticati lato client tramite i token ID. Il token ID è un meccanismo attendibile per l'invio di questi claim personalizzati e tutto l'accesso autenticato deve convalidare il token ID prima di elaborare la richiesta associata.
Controllare l'accesso con i claim personalizzati