Files
keycloak-pattern/docs/three-leg-trust-chain.md
T

915 B

Three-leg trust chain

Hop 발급자/행위자 검증자 핵심 검증
1 Google/mock IdP Keycloak broker signature, upstream issuer, client audience, expiry, nonce
2 Keycloak SPA state, PKCE code binding, Keycloak issuer, token response
3 Keycloak access token Spring Resource Server Keycloak signature/JWKS, issuer, expiry, API audience, roles

Keycloak은 upstream ID token을 그대로 SPA에 전달하지 않는다. upstream identity를 검증·연결한 뒤 자신의 realm key로 새 token을 발급한다. 그 결과 backend의 trust store와 issuer 설정은 Google 로그인 여부와 무관하게 하나다.

verify-three-leg-trust-chain.sh는 두 realm의 discovery issuer가 서로 다르고, Spring 코드가 main Keycloak issuer만 신뢰하는지 확인한다. 실제 hop 전체는 verify-federation-spa-zero-change.sh로 검증한다.