Questa pagina descrive come utilizzare parametri di ricerca e le intestazioni di Identity-Aware Proxy (IAP) per migliorare l'interfaccia utente dell'applicazione o fornire opzioni di 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 di base.
Passaggio dell'identità utente
Se passi il seguente valore parametro, viene restituito un dizionario JSON con l'identità dell'utente:
YOUR_APP_URL?gcp-iap-mode=IDENTITY
{"email":"accounts.google.com:USER_EMAIL","sub":"accounts.google.com:118133858486581853996"}
Questo valore potrebbe essere utile per personalizzare la tua app, ad esempio visualizzando il nome dell'utente, per passare l'identità a un'altra pagina o per acquisire i dati di utilizzo nei log.
Cancellazione dei dati di accesso dell'utente
Il seguente valore parametro cancella il cookie di accesso IAP:
YOUR_APP_URL?gcp-iap-mode=CLEAR_LOGIN_COOKIE
Se passi questo parametro, tutti i cookie emessi da IAP per la tua app vengono cancellati e il browser viene indirizzato a YOUR_APP_URL. Se il tuo browser ha una sessione valida con il provider di identità (IdP) della tua app, potrebbe verificarsi un accesso silenzioso quando è in uso un solo account 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 aiuta a testare la logica di verifica dei JWT passando JWT non validi alle pagine web di test.
Ad esempio, IAP passa un JWT con una firma non valida per qualsiasi richiesta che contiene 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 logica di verifica in uno dei seguenti scenari aggiungendo i parametri appropriati a una richiesta.
| Parametri | Scenario di 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 nel futuro. |
| ?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=PAST_EXPIRATION | La data di scadenza è impostata nel passato. |
| ?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 errato. |
| ?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=SIGNATURE | Firmato utilizzando un firmatario errato. |
Intestazioni speciali
Rilevamento delle risposte da IAP
Quando IAP genera una risposta HTTP, ad esempio quando 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 come:
Distingui tra i messaggi di errore generati da IAP e quelli generati dalla tua applicazione.
Rileva quando è necessario aggiungere le credenziali IAP a una richiesta.