쿼리 매개변수 및 헤더 사용

이 페이지에서는 IAP(Identity-Aware Proxy) 쿼리 매개변수 및 헤더를 사용하여 애플리케이션 UI를 향상시키거나 문제 해결 옵션을 제공하는 방법을 설명합니다.

쿼리 매개변수

URL 쿼리 문자열에 매개변수 gcp-iap-mode를 설정하여 다른 작업을 수행할 수 있습니다. 이러한 쿼리 매개변수는 루트 URL뿐만 아니라 모든 경로에 포함될 수 있습니다.

사용자 ID 전달

다음 매개변수 값을 전달하면 사용자 ID가 포함된 JSON 사전이 반환됩니다.

YOUR_APP_URL?gcp-iap-mode=IDENTITY

이는 계정에 앱 액세스 권한이 없더라도 모든 로그인된 Google 계정에서 사용할 수 있습니다. URL로 직접 이동하거나 이를 참조해서 URL에 요청을 수행할 수 있습니다. 다음은 URL에서 반환되는 예시 값입니다.

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

이 값은 사용자 이름을 표시하여 앱을 개인화하거나, ID를 다른 페이지로 전달하거나, 로그에 사용량 데이터를 캡처할 때 유용할 수 있습니다.

사용자 로그인 지우기

다음 매개변수 값은 IAP 로그인 쿠키를 지웁니다.

YOUR_APP_URL?gcp-iap-mode=CLEAR_LOGIN_COOKIE

기본적으로 이 매개변수를 전달하면 브라우저를 403페이지로 이동하여 잘못된 위치로 로그인할 수 있는 사용자를 지원할 수 있습니다. 이동이 막힌 사용자에게 URL을 제공하거나 이를 사용하여 애플리케이션에서 프로필 전환을 사용 설정할 수도 있습니다.

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가 액세스 거부(403) 또는 인증 요청(302 또는 401)과 같은 HTTP 응답을 생성하면 X-Goog-IAP-Generated-Response HTTP 응답 헤더가 추가됩니다. 이 헤더의 상태를 감지하여 다음과 같은 액션을 수행할 수 있습니다.

  • IAP에서 생성한 오류 메시지와 애플리케이션에서 생성한 오류 메시지를 구분합니다.

  • IAP 사용자 인증 정보를 요청에 언제 추가해야 하는지를 감지합니다.