Introduzione
Accedi con Google è un modo rapido e sicuro per consentire agli utenti di accedere alla tua app o al tuo sito web. La sua corretta implementazione non solo semplifica la procedura di registrazione degli utenti, ma migliora anche la sicurezza dell'applicazione. Questo documento descrive le best practice per l'integrazione di Accedi con Google nelle piattaforme web, Android e iOS. Questa documentazione si concentra esclusivamente sull'autenticazione. L'autorizzazione non rientra nell'ambito di questo documento.
Elenco di controllo delle tappe fondamentali dell'integrazione
Questo elenco di controllo fornisce una roadmap di alto livello per guidarti nella procedura di integrazione di Accedi con Google. È organizzato in fasi chiave, dalla configurazione iniziale al lancio della produzione. Utilizza questo elenco per monitorare i tuoi progressi e fai clic sui link per passare alla guida dettagliata per ogni traguardo.
Fase 0: introduzione (facoltativo)
Avvia l'integrazione con codelab pratici e passo passo per sviluppatori.
Web: completa i codelab Un tocco e Pulsante Accedi con Google per creare un'integrazione web di base.
Android: completa il codelab Android per imparare le nozioni di base su Credential Manager di Android.
iOS: completa il codelab iOS per un'introduzione all'SDK iOS.
Fase 1: configurazione del progetto Google Cloud e del brand
Assicurati che il progetto sia configurato per il successo fin dall'inizio.
Struttura i progetti Google Cloud per diversi ambienti e brand.
Completa la configurazione della schermata per il consenso OAuth con tutte le informazioni richieste su branding e assistenza.
Crea il tipo di ID client OAuth corretto per ogni piattaforma (web, Android, iOS).
Fase 2: sviluppo principale: frontend e backend
Crea la logica del server sicuro e l'esperienza utente specifica della piattaforma.
Nello sviluppo del frontend:
Esamina e applica le best practice generali per l'esperienza utente (UX) per massimizzare l'adozione e la fiducia degli utenti.
Web: utilizza la libreria JavaScript ufficiale e integra i flussi di pulsanti e One Tap.
Android: utilizza l'SDK Android ufficiale per l'integrazione.
iOS: utilizza l'SDK iOS ufficiale per l'integrazione.
Nello sviluppo backend:
Implementa la convalida backend sicura dei token ID Google.
Utilizza l'attestazione
sub come identificatore utente univoco e permanente nel tuo
sistema.
Pianifica la separazione degli ambiti di autenticazione e autorizzazione, se applicabile.
Fase 3: rafforzamento della sicurezza e lancio della produzione
Assicurati che l'integrazione sia sicura, conforme e pronta per la produzione.
Esamina e implementa le best practice per la sicurezza.
Completa la procedura di verifica dell'app OAuth prima del lancio.
Assicurati che la tua applicazione gestisca correttamente la revoca del token in caso di eliminazione dell'account utente.
Best practice generali (tutte le piattaforme)
Queste pratiche si applicano indipendentemente dalla piattaforma per cui sviluppi. Gli sviluppatori devono inoltre esaminare le norme OAuth 2.0 generali per garantire la conformità completa.
Configurazione del progetto Google Cloud
Questa sezione descrive le best practice per strutturare i progetti Google Cloud e configurare i client OAuth per la conformità in termini di sicurezza e branding.
Utilizzare progetti separati per test e produzione
Poiché alcune norme di Google si applicano solo alle applicazioni di produzione, devi creare progetti separati nella console Google Cloud per i diversi ambienti di deployment, come sviluppo, gestione temporanea e produzione. Per ulteriori dettagli, consulta questa pagina.
Utilizzare progetti separati per ogni brand o dominio
Se la tua organizzazione gestisce più applicazioni con brand distinti, ogni brand deve avere il proprio progetto Google Cloud dedicato. Le informazioni rivolte agli utenti mostrate nella schermata del consenso, come nome dell'applicazione, logo, email di assistenza e link ai Termini di servizio e alle Norme sulla privacy, vengono configurate a livello di progetto. Ciò significa che tutti gli ID client OAuth creati all'interno di un singolo progetto condivideranno lo stesso branding. Assegnare a ogni brand un proprio progetto garantisce che gli utenti vedano il branding e le informazioni legali corretti per l'applicazione specifica che stanno utilizzando.
Fornire un'email di assistenza generica
L'indirizzo email di assistenza utente viene visualizzato pubblicamente nella schermata per il consenso OAuth. Per mantenere la professionalità e garantire la continuità, configura sempre un indirizzo email di assistenza generico (ad es.
support@yourdomain.com) nella configurazione della schermata per il consenso OAuth del progetto Google Cloud anziché l'indirizzo email di un singolo dipendente. Per maggiori dettagli, visita questa pagina.Client OAuth per piattaforma
Devi creare un client OAuth separato per ogni piattaforma su cui viene eseguita la tua app (ad es. web, Android, iOS), il tutto all'interno dello stesso progetto Google Cloud. L'utilizzo del tipo di client corretto per ogni piattaforma è fondamentale per due motivi principali:
- Sicurezza avanzata: ogni tipo di client attiva funzionalità di sicurezza specifiche della piattaforma. Ad esempio, un client Android può essere bloccato dal nome del pacchetto e dal certificato di firma, impedendo l'utilizzo non autorizzato dell'ID client.
- Funzionalità corretta: garantisce che la tua applicazione si integri correttamente con SDK e funzionalità specifiche della piattaforma, come Credential Manager su Android o l'SDK Accedi con Google per iOS.
Questa struttura semplifica anche l'esperienza utente. Poiché il consenso viene gestito a livello di progetto Google Cloud, gli utenti devono concederlo una sola volta alla tua applicazione su tutte le piattaforme. Per maggiori dettagli, consulta i criteri OAuth 2.0 ufficiali.
Completamento della verifica dell'app OAuth
Affinché l'app di produzione mostri il proprio nome e logo, deve essere verificata. Il tipo di verifica dipende dai dati che richiedi all'utente.
- Accedi con Google richiede solo ambiti di autenticazione
(
email,profileeopenid), pertanto è soggetto a una verifica del brand più semplice. Questo processo è generalmente più rapido e si concentra sulla conferma dell'identità del brand.
Per aiutarti a pianificare la cronologia del lancio, Google fornisce una suddivisione dei diversi tipi di verifica e dei relativi tempi di revisione previsti. Per maggiori dettagli sulle norme di verifica, consulta il Centro assistenza per la verifica delle app OAuth.
- Accedi con Google richiede solo ambiti di autenticazione
(
Gestione della sicurezza e dei token
Questa sezione si concentra sui requisiti di runtime e sulle misure di sicurezza che gli sviluppatori devono implementare sui server di backend.
Integrare i token ID Google con il backend
- Verifica il token ID: verifica sempre l'integrità del token ID Google sul server di backend. Non fidarti mai di un token solo perché è stato inviato dal tuo client. Ti consigliamo di utilizzare una libreria client API di Google per questa verifica. Per ulteriori dettagli, consulta la sezione Verificare il token ID Google sul lato server.
- Utilizza l'attestazione
sub: utilizza solo il camposubtoken ID Google come identificatore dell'utente, in quanto è univoco e stabile in tutti gli Account Google e non viene mai riutilizzato. Devi memorizzare il camposube associarlo all'utente nel tuo sistema di gestione degli account. Anche se puoi utilizzare l'indirizzo email del token ID per verificare se l'utente ha un account esistente, non utilizzare l'indirizzo email come identificatore perché un Account Google può avere più indirizzi email in momenti diversi.
Revocare i token all'eliminazione dell'account
È consigliabile fornire agli utenti che accedono con Google la possibilità di scollegare il proprio Account Google dall'applicazione. Se un utente sceglie di eliminare il proprio account, devi revocare tutti gli accessi e aggiornare i token ottenuti dalla tua applicazione.
Per informazioni dettagliate sulla revoca dei token lato client, consulta la documentazione relativa a web, Android e iOS. Per la revoca lato server, visita la pagina Utilizzo di OAuth 2.0 per applicazioni server web.
Separare l'autenticazione dall'autorizzazione
Gli SDK Accedi con Google richiedono solo gli ambiti necessari per l'autenticazione. Se la tua applicazione deve accedere ad altri servizi Google (come Google Calendar o Drive), devi richiedere queste autorizzazioni separatamente e solo quando l'utente tenta di eseguire un'azione che le richiede. Per saperne di più, consulta Momenti di autenticazione e autorizzazione separati.
Best practice per la sicurezza
Per un'integrazione sicura, verifica sempre il token ID sul server di backend utilizzando la libreria client delle API di Google. Per una protezione più completa contro varie minacce, implementa il pacchetto di sicurezza e la Protezione su più account (RISC). Inoltre, per le app iOS, è consigliabile integrare App Check per assicurarsi che le richieste provengano dalla tua app autentica.
Esperienza utente (UX)
Questa sezione si concentra sull'ottimizzazione degli elementi rivolti agli utenti e dei flussi di accesso/registrazione.
Mostra il pulsante in modo ben visibile: il pulsante Accedi con Google deve essere chiaramente visibile e accessibile nella pagina di accesso e registrazione.
Segui le linee guida per il brand: utilizza i pulsanti di accesso con il brand Google per garantire un'esperienza utente coerente e affidabile. Consulta le linee guida per il branding di Accedi con Google ufficiali.
Registrazione senza problemi: per i nuovi utenti, crea automaticamente un account o indirizza gli utenti al nuovo flusso di creazione dell'account al primo accesso riuscito con Google. Nel backend, verifica se esiste un utente con l'ID
subspecificato; in caso contrario, crea un nuovo account. In questo modo si riduce al minimo l'impegno per la registrazione.Accesso semplificato: per gli utenti di ritorno, utilizza l'ID
subper identificarli e autenticarli nel loro account esistente. Implementa funzionalità come l'accesso automatico per web e Android per consentire agli utenti di tornare nella tua app in modo rapido e sicuro.Gestisci metodi di accesso con account social: fornisce una sezione centralizzata "Account collegati" nelle impostazioni utente in cui gli utenti possono gestire vari metodi di accesso con account social (ad es. Google).
Collegamento: fornisci un pulsante "Accedi con Google" per gli utenti esistenti che utilizzano altri metodi (ad es. nome utente e password). Se fai clic su questo pulsante, viene avviato il flusso di autenticazione per collegare il tuo Account Google al tuo profilo esistente.
Scollegamento: fornisci un'opzione per scollegare l'account. Per completare questa operazione, devi revocare i token e rimuovere l'associazione a Google dal tuo database.
Implementazione per Android (app e giochi)
App Android standard
Per le implementazioni Android, devi utilizzare Gestore delle credenziali. È l'approccio consigliato per la gestione delle credenziali utente e offre un'esperienza di accesso unificata, sicura e coerente su Android.
Utilizza l'ID client OAuth per Android per l'implementazione. Se hai già implementato Accedi con Google in altre piattaforme (ad es. web, iOS), devi creare un nuovo ID client OAuth di tipo Android nello stesso progetto Google Cloud.
Flussi di implementazione
Un'implementazione efficace deve includere sia l'interfaccia utente del foglio inferiore di Gestore delle credenziali sia un pulsante Accedi con Google.
- Foglio inferiore: questo è un prompt a basso attrito basato sullo sviluppatore presentato da Gestore delle credenziali quando un utente arriva alla schermata di accesso.
- Pulsante Accedi con Google: questo è il flusso di accesso esplicito avviato dall'utente che può toccare per iniziare.
- Una configurazione precisa del progetto Google Cloud è essenziale. Ciò comporta la creazione dei tipi corretti di ID client OAuth e la fornitura di dettagli specifici come l'impronta del certificato
SHA-1della tua app. Per assicurarti una configurazione corretta, segui con precisione la guida ufficiale per gli sviluppatori Android.
Devi sempre includere il flusso del pulsante, perché un utente potrebbe chiudere il foglio inferiore o averlo disattivato nelle preferenze. Il pulsante garantisce che possa sempre avviare la procedura di accesso.
Strategia di posizionamento
Pulsante Accedi con Google:
- Posizione: mostra il pulsante Accedi con Google nelle pagine di registrazione o accesso dedicate.
- Visibilità: posizionalo in modo ben visibile insieme ad altri metodi di accesso, come i campi nome utente e password o altri provider di accesso social.
Foglio inferiore di Credential Manager:
- Trigger: il foglio inferiore deve essere richiamato automaticamente all'avvio della pagina di accesso o dell'app. Non deve essere attivato dal tocco di un pulsante da parte di un utente.
- Accesso automatico: per gli utenti che tornano, è consigliabile attivare l'opzione Accesso automatico in Gestore delle credenziali. In questo modo, gli utenti di ritorno (che hanno già dato il consenso) possono accedere di nuovo alla tua app senza alcuna interazione.
Giochi per Android
Per i giochi per Android, Credential Manager non è l'approccio consigliato. Gli sviluppatori di giochi devono invece utilizzare l'approccio dei servizi per i giochi di Google Play (PGS), che si concentra sull'identità Google multipiattaforma utilizzando Accedi con Google. Puoi trovare maggiori dettagli nella documentazione sull'identità Google multipiattaforma tramite Accedi con Google.
Implementazione iOS
Utilizzare l'SDK ufficiale Accedi con Google
Per le app per iOS, devi utilizzare l'SDK Sign in with Google per iOS e macOS ufficiale. Questa libreria offre il modo più sicuro e intuitivo per integrare Accedi con Google.
Utilizza l'ID client OAuth per iOS per l'implementazione. Se hai già implementato Accedi con Google in altre piattaforme (ad es. web, Android), devi creare un nuovo ID client OAuth di tipo iOS nello stesso progetto Google Cloud.
Aggiungere il pulsante "Accedi con Google"
- Posizionamento: aggiungi il pulsante "Accedi con Google" alla visualizzazione di accesso dell'app, sia nelle pagine di registrazione che in quelle di accesso. Posizionalo in modo ben visibile insieme ad altri metodi di accesso, come i campi nome utente e password o altri provider di accesso social.
- Utilizza i componenti consigliati: utilizza i componenti ufficiali pulsante forniti dall'SDK sia per SwiftUI che per UIKit. Questi componenti generano automaticamente un pulsante che rispetta le linee guida per il branding di Google e sono il modo consigliato per visualizzare il pulsante.
Migliorare la sicurezza con App Check
Proteggi le risorse di backend da comportamenti illeciti verificando che le richieste al tuo client OAuth 2.0 provengano dalla tua app autentica. App Check utilizza un provider di attestazione per verificare che le richieste provengano da un'istanza autentica e non manomessa della tua app e rifiuta quelle che non lo sono. Per maggiori dettagli, vedi App Check per Accedi con Google su iOS.
Implementazione web
Indicazioni per siti web e applicazioni web.
Utilizzare la libreria JavaScript ufficiale Accedi con Google
Per le implementazioni web, devi utilizzare la libreria JavaScript Accedi con Google ufficiale. Si tratta dell'ultima generazione di librerie di identità di Google per il web e include le funzionalità Pulsante e One Tap.
Utilizza l'ID client OAuth per Web per l'implementazione. Se hai già implementato Accedi con Google in altre piattaforme (ad es. Android, iOS), devi creare un nuovo ID client OAuth di tipo web nello stesso progetto Google Cloud.
Implementa i flussi sia del pulsante che di One Tap
È una best practice implementare sia il pulsante "Accedi con Google" sia l'esperienza di accesso One Tap.
- Pulsante Accedi con Google: questo è il flusso di accesso/registrazione esplicito avviato dall'utente.
- One Tap: questo fornisce un prompt di accesso o registrazione semplice e con poche interruzioni.
- Utilizza lo stesso ID client OAuth per Web per entrambe le implementazioni.
Devi sempre includere il pulsante come opzione di accesso principale. Gli utenti possono chiudere o disattivare One Tap nelle impostazioni del proprio Account Google, ma il pulsante sarà sempre disponibile, garantendo che gli utenti non vengano mai bloccati durante l'accesso.
Strategia di posizionamento
Pulsante Accedi con Google:
- Posizione: visualizza il pulsante Accedi con Google personalizzato nelle pagine di registrazione o accesso dedicate.
- Tieni presente che non esiste un unico pattern che funzioni meglio per tutti i siti (ad es. reindirizzamento rispetto a popup). Il tuo team di progettazione web o UX deve testare e ottimizzare questi flussi per massimizzare i tassi di completamento sia per la registrazione che per l'accesso.
- Visibilità: posizionalo in modo ben visibile insieme ad altri metodi di accesso, come i campi nome utente e password o altri provider di accesso social.
- Revisione: consulta la sezione Considerazioni sul pulsante Accedi con Google per una configurazione e un rendimento ottimali.
- Posizione: visualizza il pulsante Accedi con Google personalizzato nelle pagine di registrazione o accesso dedicate.
Prompt One Tap:
- Posizione: mostra la richiesta One Tap su più pagine del tuo sito web, ad esempio pagine di singoli prodotti, pagine di articoli e persino la home page. Il vantaggio principale di One Tap è consentire agli utenti di accedere o creare un account senza uscire dalla pagina corrente.
- Accesso automatico: per gli utenti che tornano, è consigliabile attivare l'opzione di accesso automatico in One Tap. In questo modo, gli utenti di ritorno (che hanno già dato il consenso) possono accedere di nuovo alla tua app senza alcuna interazione.
- Rivedi: la sezione Considerazioni per One Tap per una configurazione e un rendimento ottimali.