1.5 KiB
1.5 KiB
AP1은 OAuth client와 token custody를 브라우저에 둔다
Alternative text
SPA, Keycloak, 브라우저 JavaScript memory, Resource Server가 왼쪽에서 오른쪽으로 연결된 AP1 직접 인증 아키텍처.
Long description
왼쪽의 public SPA가 Keycloak과 Authorization Code 및 PKCE S256 계약을 수행한다. Keycloak token 응답의 access, refresh, ID token은 브라우저 JavaScript memory에 놓이며, 그중 access JWT가 오른쪽 Resource Server의 검증 입력이 된다. Resource Server는 issuer, 시간 제약과 keycloak-pattern-api audience를 검증한다.
Elements and evidence
- Public SPA (service): Authorization Code와 PKCE를 직접 다루고 access JWT로 Resource Server를 호출하는 public OAuth client. Evidence: L144–L148.
- Browser JS memory (database): Access, refresh, ID token을 실행 중 보관하며 reload 뒤에는 복구하지 않는 browser-side custody. Evidence: L148–L150.
- Keycloak (service): SPA의 code 교환 상대이며 API가 검증하는 JWT 서명의 출처. Evidence: L144–L146.
- Resource Server (service): Access JWT의 issuer, 시간 제약과 audience를 검증하는 API. Evidence: L144–L150.
Relationships
- Keycloak → Public SPA: access · refresh · ID token. Evidence: L144–L148.
- Public SPA → Keycloak: Authorization Code + PKCE S256. Evidence: L144–L146.
- Public SPA → Browser JS memory: token set 보관. Evidence: L148–L150.
- Public SPA → Resource Server: memory-held access JWT · Bearer. Evidence: L144–L150.