Scelta di un metodo di autenticazione

Cloud Endpoints supporta più metodi di autenticazione adatti ad applicazioni e casi d'uso diversi. Extensible Service Proxy (ESP) utilizza il metodo di autenticazione specificato nella configurazione del servizio per convalidare le richieste in entrata prima di passarle al backend API. Questo documento fornisce una panoramica e casi d'uso di esempio 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 nella console Google Cloud e la incorpora in ogni chiamata all'API come parametro di query.

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

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

Caso d'uso

Se vuoi utilizzare le funzionalità di Endpoints come le quotas, ogni richiesta deve passare una chiave API per consentire a Endpoints di identificare il progetto Google Cloud a cui è associata l'applicazione client.

Per ulteriori informazioni sulle chiavi API, consulta la pagina Perché e quando utilizzare le chiavi API.

Autenticazione Firebase

L'autenticazione di Firebase fornisce servizi di backend, SDK e librerie per autenticare gli utenti su un'app web o mobile. autentica gli utenti utilizzando una varietà di credenziali come Google, Facebook, Twitter o GitHub.

La libreria client Firebase firma un token web JSON (JWT) con una chiave privata dopo che l'utente ha eseguito l'accesso. ESP convalida che il JWT sia stato firmato da Firebase e che la dichiarazione 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 coinvolgono 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 in Autenticazione degli utenti.

Auth0

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

Auth0 supporta un numero elevato di provider e la specifica Security Assertion Markup Language. Fornisce servizi di backend, SDK e librerie di interfacce utente per l'autenticazione degli utenti nelle app web e mobile. Auth0 si integra con diversi provider di identità di terze parti e fornisce inoltre una gestione personalizzata degli account utente.

La libreria client fornita da Auth0 genera e firma un JWT quando l'utente esegue l'accesso. ESP convalida che il JWT sia stato firmato da Auth0 e che l'attestazione iss nel JWT, che identifica l'applicazione Auth0, corrisponda 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 maggiori informazioni, consulta la scheda Auth0 Autenticazione degli utenti.

Autenticazione token ID Google

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

Caso d'uso

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

Account di servizio

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

Caso d'uso

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

Autenticazione personalizzata

Puoi utilizzare altre piattaforme di autenticazione per autenticare gli utenti, purché siano conformi al token web JSON RFC 7519.

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