Scelta di un metodo di autenticazione

Cloud Endpoints supporta più metodi di autenticazione adatti a diverse applicazioni e casi d'uso. L'Extensible Service Proxy (ESP) utilizza il metodo di autenticazione specificato nella configurazione del servizio per convalidare le richieste in entrata prima di trasmetterle al backend dell'API. Questo documento fornisce una panoramica ed esempi di casi d'uso per ogni metodo di autenticazione supportato.

Chiavi API

Una chiave API è una semplice stringa criptata che identifica un progetto Google Cloud a fini di quota, fatturazione e monitoraggio. Uno sviluppatore genera una chiave API in un progetto in Google Cloud Console e la incorpora in ogni chiamata alla tua API come parametro di ricerca.

Se specifichi un requisito per le chiavi API nella configurazione del servizio, ESP utilizza la chiave API per cercare il progetto Google Cloud a cui è associata la chiave API. ESP rifiuta le richieste a meno che la chiave API non sia stata generata nel progetto Google Cloud o nell'ambito di altri progetti Google Cloud in cui l'API è stata abilitata. Per ulteriori informazioni, consulta Limitazione dell'accesso API con le chiavi API

A differenza delle credenziali che usano token di breve durata o richieste firmate, le chiavi API fanno parte della richiesta e sono quindi considerate vulnerabili agli attacchi man in the middle e pertanto meno sicure. Puoi utilizzare le chiavi API oltre a uno dei metodi di autenticazione descritti di seguito. Per motivi di sicurezza, non utilizzare le chiavi API in autonomia quando le chiamate API contengono dati utente.

Caso d'uso

Se vuoi utilizzare funzionalità endpoint come le quote, ogni richiesta deve essere trasmessa in una chiave API in modo che gli endpoint possano identificare il progetto Google Cloud a cui è associata l'applicazione client.

Per ulteriori informazioni, consulta l'articolo Perché e quando utilizzare le chiavi API.

Autenticazione Firebase

Autenticazione Firebase fornisce servizi di backend, SDK e librerie per autenticare gli utenti su un'app web o per dispositivi mobili. Autentica gli utenti utilizzando una serie di credenziali come Google, Facebook, Twitter o GitHub.

La libreria client Firebase firma un JSON Web Token (JWT) con una chiave privata dopo che l'utente esegue l'accesso. ESP convalida che il JWT sia stato firmato da Firebase e che la rivendicazione dell'iss (emittente) nel JWT, che identifica la tua applicazione Firebase, corrisponda all'impostazione issuer nella configurazione del servizio.

Caso d'uso

Consigliamo di utilizzare Firebase quando le chiamate API riguardano dati utente e l'API è destinata a essere utilizzata nei flussi in cui l'utente ha un'interfaccia utente, ad esempio, da app web e per dispositivi mobili. Per ulteriori informazioni, consulta la scheda Firebase nella sezione Autenticazione degli utenti.

Autenticazione 0

Auth0 autentica e autorizza le applicazioni e le API indipendentemente da provider di identità, piattaforma, stack e dispositivo.

Auth0 supporta numerosi fornitori e la specifica Security Assertion Markup Language. Fornisce servizi di backend, SDK e librerie di interfaccia utente per autenticare gli utenti nelle app web e per dispositivi mobili. Auth0 si integra con diversi provider di identità di terze parti e fornisce anche la gestione personalizzata degli account utente.

La libreria client fornita da Auth0 genera e firma un JWT quando l'utente esegue l'accesso. ESP convalida il JWT che è stato firmato da Auth0 e che la dichiarazione iss nel JWT, che identifica la tua applicazione Auth0, corrisponde all'impostazione issuer nella configurazione del servizio.

Caso d'uso

Auth0 è adatto alle app consumer e aziendali per dispositivi mobili e Web. Per ulteriori informazioni, consulta la scheda Auth0 in Per ulteriori informazioni, consulta la scheda Auth0 Autenticazione degli utenti.

Autenticazione token Google ID

L'autenticazione con un token ID Google consente agli utenti di autenticarsi eseguendo l'accesso con un Account Google. Una volta autenticato, l'utente ha accesso a tutti i servizi Google. Puoi utilizzare i token ID Google per effettuare chiamate alle API di Google e alle API gestite dagli endpoint. ESP convalida il token ID Google utilizzando la chiave pubblica e garantisce che la dichiarazione iss nel JWT sia https://accounts.google.com.

Caso d'uso

L'autenticazione con un token ID Google è consigliata se tutti gli utenti hanno Account Google. Puoi scegliere di utilizzare l'autenticazione tramite token ID di Google, ad esempio se l'API accompagna un'applicazione Google, ad esempio la creatività companion di Google Drive. L'autenticazione tramite token ID di Google consente agli utenti di autenticarsi accedendo con un Account Google. Una volta autenticati, l'utente avrà accesso a tutti i servizi Google. Per ulteriori informazioni, consulta la scheda del token ID Google in Autenticazione degli utenti.

Account di servizio

Per identificare un servizio che invia richieste alla tua API, devi utilizzare un account di servizio. Il servizio chiamante utilizza la chiave privata dell'account di servizio per firmare un JSON Web Token (JWT) sicuro e invia il JWT firmato nella richiesta alla tua API.

Caso d'uso

JWT e account di servizio sono adatti ai microservizi. Per ulteriori informazioni, consulta la sezione Autenticazione tra servizi.

Autenticazione personalizzata

Puoi utilizzare altre piattaforme di autenticazione per autenticare gli utenti, a condizione che siano conformi al RFC 7519 del token web JSON.

Per ulteriori informazioni, consulta la scheda personalizzata in Autenticazione degli utenti.