Abfrageparameter und -header verwenden

Auf dieser Seite wird gezeigt, wie Sie mit Abfrageparametern und -headern von Identity-Aware Proxy (IAP) die Anwendungs-UI erweitern oder Optionen zur Fehlerbehebung bereitstellen können.

Abfrageparameter

Sie können verschiedene Aktionen ausführen, indem Sie den Parameter gcp-iap-mode im URL-Abfragestring festlegen. Diese Abfrageparameter können in einem beliebigen Pfad verwendet werden, nicht nur der Stamm-URL.

Nutzeridentität übergeben

Durch Übergabe des folgenden Parameterwertes wird ein JSON-Wörterbuch mit der Identität des Nutzers zurückgegeben:

YOUR_APP_URL?gcp-iap-mode=IDENTITY

Diese Funktion ist über jedes angemeldete Google-Konto verfügbar, auch wenn das Konto keinen Zugriff auf die Anwendung hat. Sie können die URL direkt aufrufen oder auf sie verweisen, um Anfragen an die URL zu senden. Im Folgenden ist ein Beispielwert aufgeführt, der von der URL zurückgegeben wird:

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

Dieser Wert kann für das Personalisieren Ihrer Anwendung hilfreich sein. So lässt sich damit z. B. der Name des Nutzers anzeigen, um die Identität an eine andere Seite zu übergeben oder um die Nutzungsdaten in Logs zu erfassen.

Nutzeranmeldung löschen

Mit dem folgenden Parameterwert wird das IAP-Anmeldecookie gelöscht:

YOUR_APP_URL?gcp-iap-mode=CLEAR_LOGIN_COOKIE

Wenn Sie diesen Parameter übergeben, werden alle von IAP ausgestellten Cookies für Ihre Anwendung gelöscht und im Browser zu YOUR_APP_URL weitergeleitet. Wenn Ihr Browser eine gültige Sitzung mit dem Identitätsanbieter (Identity Provider, IdP) Ihrer Anwendung hat, kann eine stille Anmeldung erfolgen, wenn nur ein Konto mit dem IdP verwendet wird. Wenn mehrere Konten verwendet werden, wird eine Kontoauswahlseite geöffnet, auf der Sie das Profil wechseln können.

JWT-Überprüfung testen

IAP unterstützt Sie beim Testen der Logik zur JWT-Überprüfung. Dazu werden ungültige JWTs an Testwebseiten übergeben.

IAP übergibt beispielsweise ein JWT mit einer ungültigen Signatur für jede Anfrage, die die Abfrageparameter gcp-iap-mode=SECURE_TOKEN_TEST und iap-secure-token-test-type=SIGNATURE enthält. Ihre Überprüfungslogik muss diese ungültige Signatur erkennen.

Sie können Ihre Überprüfungslogik auf eines der folgenden Szenarien testen, indem Sie die entsprechenden Parameter an eine Anfrage anhängen.

Parameter Testfall
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=NOT_SET Ein gültiges JWT
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=FUTURE_ISSUE Das Ausstellungsdatum liegt in der Zukunft
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=PAST_EXPIRATION Das Ablaufdatum liegt in der Vergangenheit
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=ISSUER Falscher Aussteller
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=AUDIENCE Falsche Zielgruppe
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=SIGNATURE Mit falschem Unterzeichner signiert

Spezielle Header

Antworten von IAP erkennen

Wenn Cloud IAP eine HTTP-Antwort generiert, z. B. bei einer Zugriffsverweigerung (403) oder Authentifizierungsanforderung (302 oder 401), wird der HTTP-Antwortheader X-Goog-IAP-Generated-Response hinzugefügt. Durch Ermittlung eines solchen Headers sind Aktionen folgender Art möglich:

  • Zwischen Fehlermeldungen unterscheiden, die von IAP generiert, und solchen, die von der Anwendung generiert wurden

  • Erkennen, wann IAP-Anmeldedaten zu einer Anfrage hinzugefügt werden müssen