Introduzione all'API Admin Auth

Identity Platform è basato su un'infrastruttura avanzata che supporta l'autenticazione degli utenti nelle tue app e nei tuoi servizi. Puoi utilizzare l'SDK Admin di Firebase per integrare i tuoi server con Identity Platform e gestire gli utenti o i token di autenticazione. Esistono diversi motivi per cui eseguire questa operazione:

Gestione utenti

Non è sempre pratico visitare la Google Cloud Console (Google Cloud Console) per gestire gli utenti di Identity Platform. L'API per la gestione degli utenti amministratori fornisce l'accesso programmatico a quegli stessi utenti. Ti consente anche di eseguire operazioni che la console Google Cloud non può eseguire, 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 già avere un database di utenti esistente o integrarlo con un provider di identità di terze parti che Identity Platform non supporta in modo nativo.

Per farlo, puoi creare token personalizzati con rivendicazioni arbitrarie che identificano l'utente. Questi token personalizzati possono quindi essere utilizzati per accedere al servizio Identity Platform in un'applicazione client e assumere l'identità descritta dalle rivendicazioni del token. Questa identità 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. Questo consente di eseguire in modo sicuro una 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 e estrae le rivendicazioni che identificano l'utente (inclusi uid, il provider di identità con cui ha eseguito l'accesso e così via). Queste informazioni sull'identità possono quindi essere utilizzate dal tuo server per eseguire azioni per conto dell'utente.

L'SDK Firebase Admin fornisce metodi per eseguire le attività di autenticazione riportate sopra, consentendoti di gestire i tuoi utenti, generare token personalizzati e verificare i token ID.

Rivendicazioni utente personalizzate

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 combinazione può grazie a 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à e la password di Identity Platform può avere il controllo dell'accesso definito tramite 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 amministrativi consente di recuperare, creare, aggiornare ed eliminare gli utenti in modo programmatico, senza richiedere le credenziali esistenti dell'utente e senza doversi preoccupare della limitazione della frequenza lato client.

Gestire gli utenti

Creazione di token personalizzati

L'utilizzo principale per la creazione di token personalizzati è consentire agli utenti di autenticarsi rispetto a un meccanismo di autenticazione esterno o legacy. Potrebbe trattarsi di un controllo controllato da te, ad esempio dal tuo server LDAP, oppure da un provider OAuth di terze parti, che non è supportato in modo nativo da Identity Platform, ad esempio Instagram o LinkedIn.

L'SDK Firebase Admin ha un metodo integrato per la creazione di token personalizzati. Puoi anche creare token personalizzati in qualsiasi linguaggio in modo programmatico utilizzando librerie JWT di terze parti.

Il tuo server deve creare un token personalizzato con un identificatore univoco (uid) e passare il token 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 token ID

Se l'app client di Identity Platform comunica con il tuo server di backend, potresti dover identificare l'utente che attualmente ha eseguito l'accesso al server, in modo da poter eseguire la logica lato server per suo conto. Per farlo in modo sicuro, utilizza i token ID creati da Identity Platform quando un utente accede a un'app Identity Platform. I token ID sono conformi alle specifiche di OpenID Connect e contengono dati per identificare un utente, nonché altre informazioni relative al profilo e all'autenticazione. Puoi inviare, verificare e ispezionare questi token dai tuoi backend. Ciò consente di identificare in modo sicuro l'utente che attualmente ha eseguito l'accesso e di autorizzarlo nelle tue risorse di backend.

L'SDK Firebase Admin ha un metodo integrato per verificare i token ID. Puoi anche verificare i token ID in modo programmatico in qualsiasi linguaggio utilizzando le librerie JWT di terze parti. Consulta Verifica token ID per ulteriori dettagli ed esempi di codice sulla procedura di verifica dei token ID.

Rivendicazioni di utenti personalizzati

L'SDK Firebase Admin ti consente di impostare attributi personalizzati per gli account utente. Con le rivendicazioni personalizzate degli utenti, puoi assegnare agli utenti livelli di accesso (ruoli) che vengono poi applicati nelle regole di sicurezza di un'applicazione.

Una volta modificate, le rivendicazioni personalizzate di un utente tramite l'SDK Firebase Firebase vengono propagate agli utenti autenticati sul lato client. Il token ID è un meccanismo affidabile per pubblicare queste rivendicazioni personalizzate e tutti gli accessi autenticati devono convalidare il token ID prima di elaborare la richiesta associata.

Controllare l'accesso con le rivendicazioni personalizzate