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 App gelöscht und der Browser wird zu YOUR_APP_URL weitergeleitet. Wenn Ihr Browser eine gültige Sitzung mit dem Identitätsanbieter (IdP) Ihrer App hat, kann es zu einer stillen Anmeldung kommen, wenn nur ein Konto beim IdP verwendet wird. Wenn mehrere Konten verwendet werden, wird eine Kontoauswahlseite geöffnet, über die 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