Utilizzo di parametri di query e intestazioni

In questa pagina viene descritto come utilizzare parametri di ricerca e le intestazioni di Identity-Aware Proxy (IAP) per migliorare l'interfaccia utente dell'applicazione o fornire opzioni per la risoluzione dei problemi.

Parametri di query

È possibile eseguire diverse azioni impostando il parametro gcp-iap-mode nella stringa di query dell'URL. Questi parametri di ricerca possono essere inclusi in qualsiasi percorso, non solo nell'URL principale.

Trasmissione dell'identità dell'utente

Se trasmetti il seguente valore parametro, viene restituito un dizionario JSON con l'identità dell'utente:

YOUR_APP_URL?gcp-iap-mode=IDENTITY

Questa informazione è disponibile da qualsiasi Account Google a cui hai eseguito l'accesso, anche se l'account non ha accesso all'app. Puoi accedere direttamente all'URL o fare riferimento all'URL per effettuare richieste all'URL. Di seguito è riportato un valore di esempio restituito dall'URL:

{"email":"accounts.google.com:USER_EMAIL","sub":"accounts.google.com:118133858486581853996"}

Potresti trovare utile questo valore per personalizzare l'app, ad esempio mostrando il nome dell'utente, per passare l'identità a un'altra pagina o acquisire i dati sull'utilizzo nei log.

Cancellazione dell'accesso utente

Il seguente valore parametro cancella il cookie di accesso IAP:

YOUR_APP_URL?gcp-iap-mode=CLEAR_LOGIN_COOKIE

Se trasmetti questo parametro, tutti i cookie emessi da IAP per la tua app e il browser vengono indirizzati a YOUR_APP_URL. Se il browser ha una sessione valida con il provider di identità (IdP) della tua app, l'accesso silenzioso potrebbe verificarsi quando esiste un solo account in uso con l'IdP. Se sono in uso più account, si apre una pagina di selezione dell'account per consentire il passaggio da un profilo all'altro.

Test della verifica JWT

IAP ti consente di testare la logica di verifica JWT passando i JWT non validi alle pagine web di test.

Ad esempio, IAP passa un JWT con una firma non valida per qualsiasi richiesta contenente i parametri di ricerca gcp-iap-mode=SECURE_TOKEN_TEST e iap-secure-token-test-type=SIGNATURE. La logica di verifica dovrebbe rilevare la firma non valida.

Puoi testare la tua logica di verifica in uno dei seguenti scenari aggiungendo i parametri appropriati a una richiesta.

Parametri Scenario test
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=NOT_SET Un JWT valido.
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=FUTURE_ISSUE La data di emissione è impostata su una data futura.
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=PAST_EXPIRATION La data di scadenza è impostata su una data passata.
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=ISSUER Emittente errato.
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=AUDIENCE Segmento di pubblico non corretto.
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=SIGNATURE Firmato con un firmatario errato.

Intestazioni speciali

Rilevamento delle risposte da IAP

Quando IAP genera una risposta HTTP, ad esempio nega l'accesso (403) o richiede l'autenticazione (302 o 401), aggiunge l'intestazione della risposta HTTP X-Goog-IAP-Generated-Response. Rilevando la presenza di questa intestazione, puoi eseguire azioni quali:

  • Distinguere tra messaggi di errore generati da IAP e messaggi di errore generati dalla tua applicazione.

  • Rileva quando è necessario aggiungere credenziali IAP a una richiesta.