Utilizzo di parametri di query e intestazioni

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 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 con qualsiasi percorso, non solo con l'URL principale.

Trasmissione 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

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

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

Potresti trovare utile questo valore per personalizzare la tua app, ad esempio mostrando il nome dell'utente, per passare l'identità a un'altra pagina o per acquisire i dati di 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 passi questo parametro, vengono cancellati tutti i cookie emessi da IAP per la tua app e il browser viene indirizzato a YOUR_APP_URL. Se il 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, viene visualizzata 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 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 contenga 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 base a 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 in un momento successivo a quello corrente.
?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 Firmata utilizzando un firmatario errato.

Intestazioni speciali

Rilevamento delle risposte dall'IAP

Quando IAP genera una risposta HTTP, ad esempio quando nega l'accesso (403) o richiede l'autenticazione (302 o 401), aggiunge l'intestazione di risposta HTTP X-Goog-IAP-Generated-Response. Se rilevi la presenza di questo 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.