이 페이지에서는 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
이 매개변수를 전달하면 앱의 IAP에서 발급한 모든 쿠키가 삭제되고 브라우저가 YOUR_APP_URL
로 이동합니다. 브라우저에 앱의 ID 공급업체(IdP)가 있는 유효한 세션이 있는 경우 IdP에 사용 중인 계정이 하나뿐이면 자동 로그인이 발생할 수 있습니다. 사용 중인 계정이 여러 개인 경우 계정 선택 페이지가 열리고 프로필 전환이 허용됩니다.
JWT 인증 테스트
IAP는 무효 JWT를 테스트 웹페이지로 전달하여 JWT 인증 로직을 테스트하는 데 도움이 됩니다.
예를 들어 IAP는 쿼리 매개변수 gcp-iap-mode=SECURE_TOKEN_TEST
및 iap-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 사용자 인증 정보를 요청에 언제 추가해야 하는지를 감지합니다.