Introduzione all'API Admin Auth
Identity Platform si basa su un'infrastruttura avanzata che supporta l'autenticazione degli utenti per le app e i servizi. Puoi utilizzare l'SDK Firebase Admin per integrare i tuoi server con Identity Platform e gestire gli utenti o i token di autenticazione. Ci sono diversi motivi per cui vuoi farlo:
Gestione utenti
Non è sempre pratico visitare la console Google Cloud (console Google Cloud) per gestire gli utenti di Identity Platform. L'API di gestione degli utenti amministrativi fornisce l'accesso programmatico agli stessi utenti. Ti consente anche di fare cose che la console Google Cloud non può fare, come recuperare i dati completi di un utente e modificare la password, l'indirizzo email o il numero di telefono di un utente.
Autenticazione personalizzata
Con Identity Platform puoi integrare un sistema utente esterno. Ad esempio, potresti già disporre di un database utenti preesistente o potresti voler eseguire l'integrazione con un provider di identità di terze parti che Identity Platform non supporta in modo nativo.
Per farlo, puoi creare token personalizzati con attestazioni arbitrarie che identificano l'utente. Questi token personalizzati possono quindi essere utilizzati per accedere al servizio Identity Platform su un'applicazione client e assumere l'identità descritta dalle attestazioni del token. che verrà quindi utilizzata per accedere ad altri servizi di Identity Platform, come Cloud Storage.
Verifica dell'identità
Identity Platform viene utilizzato principalmente per identificare gli utenti della tua app al fine di limitare l'accesso ad altri servizi, come Cloud Storage. Puoi utilizzare il servizio anche 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 a cui hai eseguito l'accesso con Identity Platform e includerlo in una richiesta al server. Il server verifica quindi il token ID ed estrae le attestazioni che identificano l'utente (inclusi uid
, il provider di identità con cui ha eseguito l'accesso e così via). Le informazioni sull'identità possono quindi essere utilizzate dal server per eseguire azioni per conto dell'utente.
L'SDK Firebase Admin fornisce i metodi per eseguire le attività di autenticazione illustrate sopra, consentendoti di gestire gli utenti, generare token personalizzati e verificare i token ID.
Rivendicazioni personalizzate degli utenti
In alcuni casi, potresti voler implementare un controllo dell'accesso granulare per gli utenti che hanno già eseguito l'accesso con uno dei provider di autenticazione di Identity Platform supportati, come Email/Password, Google, Facebook, telefono e così via. Questa funzionalità è offerta da una combinazione di rivendicazioni utente personalizzate e regole per la sicurezza delle applicazioni. Ad esempio, un utente che ha eseguito l'accesso con il provider email e password di Identity Platform può definire il controllo dell'accesso dell'accesso utilizzando rivendicazioni personalizzate.
Gestione utenti
L'SDK Firebase Admin fornisce un'API per la gestione degli utenti di Identity Platform con privilegi elevati. L'API per la gestione degli utenti amministratore offre la possibilità di recuperare, creare, aggiornare ed eliminare gli utenti in modo programmatico senza richiedere le credenziali esistenti di un utente e senza preoccuparti della limitazione di frequenza lato client.
Gestire gli utentiCreazione di token personalizzati
L'utilizzo principale per la creazione di token personalizzati è consentire agli utenti di autenticarsi utilizzando un meccanismo di autenticazione esterno o legacy. Potrebbe essere un'opzione che puoi controllare, ad esempio il tuo server LDAP o un provider OAuth di terze parti che Identity Platform non supporta in modo nativo, ad esempio Instagram o LinkedIn.
L'SDK Firebase Admin include un metodo integrato per creare 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 trasmetterlo a un'app client, che lo utilizzerà per accedere a Identity Platform. Consulta Creazione di token personalizzati per esempi di codice e ulteriori dettagli sul processo di creazione di token personalizzati.
Verifica token ID
Se l'app client di Identity Platform comunica con il server di backend, potresti dover identificare l'utente che ha eseguito l'accesso al server, in modo da poter eseguire la logica lato server per suo conto. Puoi farlo in modo sicuro utilizzando i token ID, 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 nelle tue risorse di backend.
L'SDK Firebase Admin include un metodo integrato per verificare i token ID. Puoi anche verificare in modo programmatico i token ID in qualsiasi lingua utilizzando librerie JWT di terze parti. Per ulteriori dettagli ed esempi di codice sulla procedura di verifica dei token ID, consulta Verificare i token ID.
Affermazioni personalizzate degli utenti
L'SDK Firebase Admin ti consente di impostare attributi personalizzati per gli account utente. Con le rivendicazioni personalizzate degli utenti, puoi assegnare agli utenti diversi livelli di accesso (ruoli), che vengono poi applicati nelle regole di sicurezza di un'applicazione.
Dopo che le rivendicazioni personalizzate vengono modificate per un utente tramite l'SDK Firebase Admin, vengono propagate agli utenti autenticati sul lato client tramite i relativi token ID. Il token ID è un meccanismo attendibile per fornire queste attestazioni personalizzate e tutti gli accessi autenticati devono convalidare il token ID prima di elaborare la richiesta associata.
Controllare l'accesso con rivendicazioni personalizzate