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.