Adding Spring Session Redis grows the context by 81 beans and swaps sessionRepository for RedisSessionRepository, while authorizedClientService stays InMemoryOAuth2AuthorizedClientService. The user then reads as logged in with principal labuser while accessTokenStoredOnServer is false, which is worse than being logged out. Redis holds only the security context, serialized with Java native serialization, and the refresh token is not there to encrypt in the first place. Three problems on the way: Kubernetes service links overwrote REDIS_PORT with a tcp:// URL, the tests tried to reach Redis, and the resource server was never deployed so a DNS failure looked like a token failure. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
7 lines
563 B
YAML
7 lines
563 B
YAML
- main [ref=f33e2]:
|
|
- heading "AP3 · Backend-for-Frontend" [level=1] [ref=f33e3]
|
|
- paragraph [ref=f33e4]: 브라우저에는 OAuth token이 전혀 전달되지 않습니다. HttpOnly session cookie로 BFF만 호출하고, BFF가 서버 보관 access token을 Resource Server 요청에 붙입니다.
|
|
- button "Keycloak 로그인" [ref=f33e5] [cursor=pointer]
|
|
- button "token 경계 확인" [ref=f33e6] [cursor=pointer]
|
|
- button "BFF 경유 API 호출" [ref=f33e7] [cursor=pointer]
|
|
- button "CSRF token으로 상태 변경" [ref=f33e8] [cursor=pointer] |