Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Introduzione all'API di autenticazione amministrativa

Firebase Admin SDK ti consente di integrare i tuoi server con Firebase Authentication. Puoi utilizzare Firebase Admin SDK per gestire i tuoi utenti o per gestire i token di autenticazione. Ci sono una serie di motivi per cui vorresti farlo:

Gestione utenti

Non è sempre conveniente visitare la console Firebase per gestire i tuoi utenti Firebase. L'API di gestione degli utenti amministratori fornisce l'accesso programmatico a quegli stessi utenti. Ti consente anche di fare cose che la console Firebase non può, come recuperare i dati completi di un utente e modificare la password, l'indirizzo e-mail o il numero di telefono di un utente.

Autenticazione personalizzata

Puoi integrare un sistema utente esterno con Firebase. Ad esempio, potresti già avere un database utente preesistente o potresti voler integrare con un provider di identità di terze parti che Firebase Authentication non supporta in modo nativo.

A tale scopo, è possibile creare token personalizzati con attestazioni arbitrarie che identificano l'utente. Questi token personalizzati possono quindi essere utilizzati per accedere al servizio Firebase Authentication su un'applicazione client e assumere l'identità descritta dalle attestazioni del token. Questa identità verrà quindi utilizzata quando si accede ad altri servizi Firebase, come Cloud Storage.

Verifica dell'identità

Firebase Authentication 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. Ciò ti consente di eseguire in modo sicuro la logica lato server per conto degli utenti che hanno effettuato l'accesso con Firebase Authentication.

Per fare ciò, puoi recuperare un token ID da un'applicazione client con cui è stata eseguita l'autenticazione Firebase e includere il token in una richiesta al tuo server. Il tuo server verifica quindi il token ID ed estrae le attestazioni che identificano l'utente (incluso il loro uid , il provider di identità con cui ha effettuato l'accesso, ecc.). Queste informazioni sull'identità possono quindi essere utilizzate dal tuo server per eseguire azioni per conto dell'utente.

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

Reclami utente personalizzati

In alcuni casi, potresti voler implementare un controllo di accesso dettagliato per gli utenti che hanno già effettuato l'accesso con uno dei provider di autenticazione Firebase supportati come Email / Password, Google, Facebook, telefono, ecc. Una combinazione di attestazioni utente personalizzate e sicurezza dell'applicazione regole fornisce questa capacità. Ad esempio, un utente che ha eseguito l'accesso con il provider di posta elettronica e password di Firebase Authentication può avere il controllo dell'accesso definito utilizzando attestazioni personalizzate.

Gestione utenti

Firebase Admin SDK fornisce un'API per la gestione degli utenti Firebase con privilegi elevati. L'API di gestione degli utenti amministratori ti offre la possibilità di recuperare, creare, aggiornare ed eliminare utenti a livello di codice senza richiedere le credenziali esistenti di un utente e senza preoccuparti della limitazione della velocità lato client.

Gestisci utenti

Creazione di token personalizzati

L'uso principale per la creazione di token personalizzati è consentire agli utenti di autenticarsi con un meccanismo di autenticazione esterno o legacy. Questo potrebbe essere uno che controlli, come il tuo server LDAP, o un provider OAuth di terze parti che Firebase non supporta nativamente, come Instagram o LinkedIn.

Firebase Admin SDK ha un metodo integrato per la creazione di token personalizzati. Puoi anche creare a livello di codice token personalizzati in qualsiasi lingua utilizzando librerie JWT di terze parti.

Il tuo server dovrebbe creare un token personalizzato con un identificatore univoco ( uid ) e passare tale token a un'app client, che lo utilizzerà per accedere a Firebase. Vedi Creare token personalizzati per esempi di codice e altri dettagli sul processo di creazione del token personalizzato.

Crea gettoni personalizzati

Verifica del token ID

Se la tua app client Firebase comunica con il tuo server di back-end, potresti dover identificare l'utente attualmente connesso al tuo 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 Firebase quando un utente accede a un'app Firebase. I token ID sono conformi alla specifica OpenID Connect e contengono dati per identificare un utente, oltre ad altre informazioni relative al profilo e all'autenticazione. Puoi inviare, verificare e ispezionare questi token dai tuoi backend. Ciò ti consente di identificare in modo sicuro l'utente attualmente connesso e di autorizzarlo nelle tue risorse di backend.

Firebase Admin SDK ha un metodo integrato per la verifica dei token ID. Puoi anche verificare a livello di codice i token ID in qualsiasi lingua utilizzando librerie JWT di terze parti. Vedere Verifica dei token ID per ulteriori dettagli ed esempi di codice sul processo di verifica del token ID.

Verifica i token ID

Dichiarazioni utente personalizzate

Firebase Admin SDK ti consente di impostare attributi personalizzati sugli account utente. Con le attestazioni utente personalizzate, puoi fornire agli utenti diversi livelli di accesso (ruoli), che vengono poi applicati nelle regole di sicurezza dell'applicazione.

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

Controllo dell'accesso con reclami personalizzati