使用查詢參數和標頭

本頁面說明如何使用 Identity-Aware Proxy (IAP) 查詢參數和標頭強化應用程式 UI 或提供疑難排解選項。

查詢參數

您可以在網址查詢字串中設定 gcp-iap-mode 參數,執行不同的動作。這些查詢參數可納入任何路徑,而非僅限於根網址。

傳送使用者身分識別資訊

傳遞下列參數值會傳回包含使用者身分識別資訊的 JSON 字典:

YOUR_APP_URL?gcp-iap-mode=IDENTITY

這個網址可從任何已登入的 Google 帳戶取得,即使帳戶沒有應用程式的存取權亦是如此。您可以直接前往該網址,也可以參照該網址向該網址提出要求。以下是網址傳回的範例值:

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

您可能會發現這個值可協助您個人化應用程式 (例如顯示使用者名稱)、將身分識別資訊傳送至其他頁面,或擷取記錄中的使用情況資料。

清除使用者登入資料

下列參數值可清除 IAP 登入 Cookie:

YOUR_APP_URL?gcp-iap-mode=CLEAR_LOGIN_COOKIE

傳遞此參數會清除應用程式中的所有 IAP 核發 Cookie,並將瀏覽器導向 YOUR_APP_URL。如果瀏覽器與應用程式的身分提供者 (IdP) 有有效的工作階段,當 IdP 只使用一個帳戶時,可能會發生靜默登入。如果有多個帳戶正在使用中,系統會開啟帳戶選取頁面,讓您切換個人資料。

測試 JWT 驗證

IAP 可將無效 JWT 傳送至測試網頁,藉此協助您測試 JWT 驗證邏輯。

舉例來說,IAP 會針對包含查詢參數 gcp-iap-mode=SECURE_TOKEN_TESTiap-secure-token-test-type=SIGNATURE 的任何要求,傳送具有無效簽名的 JWT。驗證邏輯應會偵測到無效的簽名。

您可以針對下列任何情境,為驗證邏輯測試,方法是將適當的參數附加至要求。

參數 測試案例
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=NOT_SET 有效的 JWT。
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=FUTURE_ISSUE 核發日期設定於未來。
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=PAST_EXPIRATION 到期日期設定於過去。
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=ISSUER 不正確的核發單位。
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=AUDIENCE 不正確的目標對象。
?gcp-iap-mode=SECURE_TOKEN_TEST&iap-secure-token-test-type=SIGNATURE 使用不正確的簽署者來簽署。

特殊標頭

偵測 IAP 的回應

IAP 產生 HTTP 回應 (如在拒絕存取 (403) 或要求驗證 (302 或 401)) 時,會新增 X-Goog-IAP-Generated-Response HTTP 回應標頭。藉由偵測此標頭是否存在,您即可:

  • 區別 IAP 和應用程式產生的錯誤訊息。

  • 偵測 IAP 憑證須新增至要求的時機。