Introduzione all'API Admin Auth

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 e gestire i token di autenticazione. Esistono diversi motivi per cui potresti voler eseguire questa operazione:

Gestione utenti

Non è sempre conveniente visitare Console Firebase per gestire gli utenti di Firebase. L'API Admin User Management fornisce accesso programmatico agli stessi utenti. Ti consente persino di eseguire operazioni che non sono possibili con la console Firebase, 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 di utenti esterni con Firebase. Ad esempio, potresti già avere un database utente preesistente o potresti voler eseguire l'integrazione con un provider di identità di terze parti non supportato in modo nativo da Firebase Authentication.

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

Verifica dell'identità

Firebase Authentication viene utilizzato principalmente per identificare gli utenti della tua app al fine di limitare accesso ad altri servizi, come Cloud Storage. Puoi anche utilizzare il servizio per identificare questi utenti sul tuo server. Questo consente di eseguire in modo sicuro la logica lato server per conto degli utenti che hanno firmato con Firebase Authentication.

Per farlo, puoi recuperare un token ID da un client ha eseguito l'accesso con Firebase Authentication e includere il token in una richiesta server web. Il server verifica quindi il token ID ed estrae le attestazioni che Identificare l'utente (incluso uid, il provider di identità su cui ha eseguito l'accesso con e così via). Queste informazioni sull'identità possono quindi essere utilizzate dal server per trasportare per conto dell'utente.

Lo Firebase Admin SDK fornisce metodi per eseguire le di autenticazione precedenti consentendoti di gestire gli utenti, generare 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 Firebase supportati di provider di autenticazione come Email/Password, Google, Facebook, telefono ecc. A combinazione di rivendicazioni personalizzate degli utenti e regole di sicurezza delle applicazioni funzionalità. Ad esempio, un utente che ha eseguito l'accesso con il fornitore Firebase Authentication Email e password può avere il controllo dell'accesso definito utilizzando claim personalizzati.

Gestione utenti

Il Firebase Admin SDK fornisce un'API per la gestione Firebase utenti con privilegi elevati. La gestione degli utenti amministratore che offre la possibilità di recuperare, creare, aggiornare eliminare gli utenti senza richiederne le credenziali esistenti e senza preoccuparsi della limitazione della frequenza lato client.

Gestire gli utenti

Creazione 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 come il server LDAP, o un provider OAuth di terze parti che Firebase non supporta in modo nativo, ad esempio Instagram o LinkedIn.

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

Il server deve creare un token personalizzato con un identificatore univoco (uid) e passare il token a un'app client, che lo utilizzerà per accedere Firebase. Consulta Creare token personalizzati per esempi di codice e ulteriori dettagli sul processo di creazione di token personalizzati.

Creare token personalizzati

Verifica del token di identità

Se la tua app client Firebase 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 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, nonché alcune altre informazioni relative al profilo e all'autenticazione. Puoi inviare, verificare e controllare questi token dai tuoi backend. Ciò ti consente di proteggere identificare l'utente che ha effettuato l'accesso e autorizzarlo nel tuo backend Google Cloud.

Firebase Admin SDK dispone di un metodo integrato per la verifica di token ID. Puoi anche verificare in modo programmatico i token ID in qualsiasi 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.

Verifica i token ID

Rivendicazioni personalizzate degli utenti

L'Firebase Admin SDK consente di impostare attributi personalizzati negli 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 su un utente tramite Firebase Admin SDK, propagati agli utenti autenticati lato client tramite i loro token ID. Il token ID è un meccanismo attendibile per l'invio a queste richieste personalizzate e tutti gli accessi autenticati devono convalidare il token ID prima di elaborare la richiesta associata.

Controllare l'accesso con rivendicazioni personalizzate