本頁面說明如何使用 Identity-Aware Proxy (IAP) 查詢參數和標頭,強化應用程式 UI 或提供疑難排解選項。
查詢參數
在網址查詢字串中設定 gcp-iap-mode 參數,即可執行不同動作。這些查詢參數可以包含在任何路徑中,不限於根網址。
傳送使用者身分識別資訊
傳遞下列參數值,會傳回包含使用者身分資訊的 JSON 字典:
YOUR_APP_URL?gcp-iap-mode=IDENTITY
{"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 驗證邏輯。
舉例來說,如果要求包含查詢參數 gcp-iap-mode=SECURE_TOKEN_TEST 和 iap-secure-token-test-type=SIGNATURE,IAP 會傳遞含有無效簽章的 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 憑證新增至要求。