API Google Account Linking

Questa pagina di riferimento documenta gli endpoint e le interfacce offerti da Google che la tua app utilizza durante la procedura di collegamento degli account basato su OAuth.

Prerequisiti e standard

Per interagire correttamente con questi endpoint Google, la tua integrazione deve rispettare i seguenti standard:

  • OAuth 2.0: conforme alla RFC 6749.
  • JSON Web Token (JWT): conforme a RFC 7519 (per il collegamento semplificato e RISC).
  • Token evento di sicurezza: conformi a RFC 8417 (per RISC).
  • HTTPS: tutte le richieste devono essere effettuate tramite una connessione HTTPS sicura.

URI di reindirizzamento OAuth

L'endpoint a cui il servizio reindirizza il browser dell'utente dopo l'autenticazione e il consenso. Il parametro YOUR_PROJECT_ID percorso è l'ID che configuri durante la registrazione.

  • URL: https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID
  • URL sandbox: https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PROJECT_ID

  • Metodo: GET (utilizzando il reindirizzamento del browser)

Parametri di richiesta

Quando reindirizzi l'utente a Google, i parametri devono essere aggiunti all'URL. A seconda del flusso OAuth utilizzato, questi parametri vengono formattati come una stringa di query (flusso del codice di autorizzazione) o come un frammento di URL (flusso implicito).

Parametro Descrizione
code (Obbligatorio per il flusso del codice di autorizzazione) Il codice di autorizzazione generato dal tuo servizio.
state (Obbligatorio) Il valore di stato non modificato ricevuto originariamente da Google.
access_token (Obbligatorio per il flusso implicito) Il token di accesso di lunga durata generato dal tuo servizio.
token_type (Obbligatorio per il flusso implicito) Deve essere bearer.

Risposte di errore

Se la richiesta all'URI di reindirizzamento OAuth non è valida, riceverai un errore HTTP 400 Bad Request. Il corpo della risposta conterrà un oggetto JSON con la seguente struttura:

Campo Descrizione
sendPostBody Determina se il codice JavaScript deve reindirizzare a redirectUri con POST. In genere, false in questo scenario.
errorMessage Un messaggio di errore da visualizzare al client quando non è possibile completare il reindirizzamento. Per i frammenti mancanti, questo è "A URI fragment or query string must be set."

Risposte di errore OAuth 2.0

Se l'utente nega il consenso o il servizio rileva un errore, il servizio deve reindirizzare l'utente all'URI di reindirizzamento OAuth con i parametri di errore OAuth 2.0 standard (ad esempio error=access_denied). Google elaborerà questi parametri e mostrerà all'utente una schermata di errore appropriata.

API RISC (facoltativa)

Utilizzato dal tuo servizio per notificare in modo proattivo a Google quando un utente scollega il proprio account sulla tua piattaforma utilizzando il protocollo RISC, garantendo che entrambe le piattaforme rimangano sincronizzate.

  • URL: https://risc.googleapis.com/v1/events:publish
  • Metodo: POST
  • Autenticazione:richiede un token del service account Google con le autorizzazioni appropriate.
  • Content-Type: application/json

Rivendicazioni del token evento di sicurezza

I token di eventi di sicurezza che utilizzi per comunicare a Google gli eventi di revoca dei token devono essere conformi ai requisiti riportati nella seguente tabella:

Richiedi Descrizione
iss Rivendicazione dell'emittente:si tratta di un URL che ospiti e che viene condiviso con Google durante la registrazione.
aud Rivendicazione audience:identifica Google come destinatario del JWT. Deve essere impostato su google_account_linking.
jti Rivendicazione ID JWT:un ID univoco generato per ogni token evento di sicurezza.
iat Issued At Claim:si tratta di un valore NumericDate che rappresenta l'ora in cui è stato creato questo token dell'evento di sicurezza.
toe Ora della rivendicazione dell'evento:questo è un valore facoltativo NumericDate che rappresenta l'ora in cui il token è stato revocato.
exp Rivendicazione dell'ora di scadenza:non includere questo campo, poiché l'evento che ha generato questa notifica si è già verificato.
events Rivendicazione eventi di sicurezza:si tratta di un oggetto JSON e deve includere un solo evento di revoca del token contenente i seguenti campi:

  • subject_type: deve essere impostato su oauth_token.
  • token_type: il tipo di token revocato, access_token o refresh_token.
  • token_identifier_alg: questo è l'algoritmo utilizzato per codificare il token e deve essere hash_SHA512_double.
  • token: l'ID del token revocato.

Per saperne di più sui tipi e sui formati dei campi, consulta JSON Web Token (JWT)

Interfaccia "Flip-Back" di App Flip

Per App Flip, la tua app mobile deve restituire il codice di autorizzazione o il token di accesso all'app Google.

Android (risultato intent)

La tua app viene aperta utilizzando un intent. Dopo il consenso, termina e restituisce un risultato a Google. Per ulteriori informazioni, consulta la Guida all'implementazione per Android.

  • Azione: com.google.android.gms.auth.CODE_AVAILABLE
  • Extra: code, state, access_token, token_type.

La tua app apre Google utilizzando uno schema URL personalizzato o un link universale HTTPS. Per ulteriori informazioni, consulta la Guida all'implementazione per iOS.

  • Formato: <return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING