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>
65 lines
6.1 KiB
Plaintext
65 lines
6.1 KiB
Plaintext
=== B-1 — Redis 를 붙인 뒤 자동구성이 실제로 바뀌었는가 ===
|
|
빈 수: 321 → 402 (+81)
|
|
|
|
--- 세션 저장소 관련 (새로 생긴 것) ---
|
|
★ cookieSerializer -> DefaultCookieSerializer
|
|
★ org.springframework.boot.autoconfigure.session.RedisSessionConfiguration -> RedisSessionConfiguration
|
|
★ org.springframework.boot.autoconfigure.session.RedisSessionConfiguration$DefaultRedisSessionConfiguration -> RedisSessionConfiguration$DefaultRedisSessionConfiguration
|
|
★ org.springframework.boot.autoconfigure.session.SessionAutoConfiguration -> SessionAutoConfiguration
|
|
★ org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ServletSessionConfiguration -> SessionAutoConfiguration$ServletSessionConfiguration
|
|
★ org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ServletSessionConfiguration$RememberMeServicesConfiguration -> SessionAutoConfiguration$ServletSessionConfiguration$RememberMeServicesConfiguration
|
|
★ org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ServletSessionConfiguration$ServletSessionRepositoryConfiguration -> SessionAutoConfiguration$ServletSessionConfiguration$ServletSessionRepositoryConfiguration
|
|
★ org.springframework.boot.autoconfigure.session.SessionRepositoryFilterConfiguration -> SessionRepositoryFilterConfiguration
|
|
★ org.springframework.session.config.annotation.web.http.SpringHttpSessionConfiguration -> SpringHttpSessionConfiguration
|
|
★ org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration -> RedisHttpSessionConfiguration
|
|
★ rememberMeServicesCookieSerializerCustomizer -> SessionAutoConfiguration$ServletSessionConfiguration$RememberMeServicesConfiguration$$Lambda/0x00007f364e69fa60
|
|
★ sessionEventHttpSessionListenerAdapter -> SessionEventHttpSessionListenerAdapter
|
|
★ sessionRepository -> RedisSessionRepository
|
|
★ sessionRepositoryFilterRegistration -> DelegatingFilterProxyRegistrationBean
|
|
★ spring.session-org.springframework.boot.autoconfigure.session.SessionProperties -> SessionProperties
|
|
★ spring.session.redis-org.springframework.boot.autoconfigure.session.RedisSessionProperties -> RedisSessionProperties
|
|
★ springBootSessionRepositoryCustomizer -> RedisSessionConfiguration$DefaultRedisSessionConfiguration$$Lambda/0x00007f364e6a4a68
|
|
★ springSessionRepositoryFilter -> SessionRepositoryFilter
|
|
|
|
--- OAuth2 authorized client — 바뀌었는가? ---
|
|
authorizedClientService
|
|
before: InMemoryOAuth2AuthorizedClientService
|
|
after : InMemoryOAuth2AuthorizedClientService 그대로 — Redis 로 안 옮겨졌다
|
|
authorizedClientRepository
|
|
before: AuthenticatedPrincipalOAuth2AuthorizedClientRepository
|
|
after : AuthenticatedPrincipalOAuth2AuthorizedClientRepository 그대로 — Redis 로 안 옮겨졌다
|
|
authorizedClientManager
|
|
before: AuthorizedClientServiceOAuth2AuthorizedClientManager
|
|
after : AuthorizedClientServiceOAuth2AuthorizedClientManager 그대로 — Redis 로 안 옮겨졌다
|
|
|
|
--- Redis 연결 빈 (새로 생긴 것) ---
|
|
★ keyValueMappingContext -> RedisMappingContext
|
|
★ lettuceMetrics -> LettuceMetricsAutoConfiguration$$Lambda/0x00007f364e56f4d0
|
|
★ org.springframework.boot.actuate.autoconfigure.data.redis.RedisHealthContributorAutoConfiguration -> RedisHealthContributorAutoConfiguration
|
|
★ org.springframework.boot.actuate.autoconfigure.data.redis.RedisReactiveHealthContributorAutoConfiguration -> RedisReactiveHealthContributorAutoConfiguration
|
|
★ org.springframework.boot.actuate.autoconfigure.metrics.redis.LettuceMetricsAutoConfiguration -> LettuceMetricsAutoConfiguration
|
|
★ org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration -> LettuceConnectionConfiguration
|
|
★ org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration -> RedisAutoConfiguration
|
|
★ org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration -> RedisReactiveAutoConfiguration
|
|
★ org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration -> RedisRepositoriesAutoConfiguration
|
|
★ org.springframework.boot.autoconfigure.session.RedisSessionConfiguration -> RedisSessionConfiguration
|
|
★ org.springframework.boot.autoconfigure.session.RedisSessionConfiguration$DefaultRedisSessionConfiguration -> RedisSessionConfiguration$DefaultRedisSessionConfiguration
|
|
★ org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration -> RedisHttpSessionConfiguration
|
|
★ reactiveRedisTemplate -> ReactiveRedisTemplate
|
|
★ reactiveStringRedisTemplate -> ReactiveStringRedisTemplate
|
|
★ redisConnectionDetails -> PropertiesRedisConnectionDetails
|
|
★ redisConnectionFactory -> LettuceConnectionFactory
|
|
★ redisConverter -> MappingRedisConverter
|
|
★ redisCustomConversions -> RedisCustomConversions
|
|
★ redisHealthContributor -> RedisReactiveHealthIndicator
|
|
★ redisKeyValueAdapter -> RedisKeyValueAdapter
|
|
★ redisKeyValueTemplate -> RedisKeyValueTemplate
|
|
★ redisMappingConfiguration#0 -> MappingConfiguration
|
|
★ redisReferenceResolver -> ReferenceResolverImpl
|
|
★ redisTemplate -> RedisTemplate
|
|
★ sessionRepository -> RedisSessionRepository
|
|
★ spring.data.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties -> RedisProperties
|
|
★ spring.session.redis-org.springframework.boot.autoconfigure.session.RedisSessionProperties -> RedisSessionProperties
|
|
★ springBootSessionRepositoryCustomizer -> RedisSessionConfiguration$DefaultRedisSessionConfiguration$$Lambda/0x00007f364e6a4a68
|
|
★ stringRedisTemplate -> StringRedisTemplate
|