inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 OAuth2

OAuth2AuthorizedClient 이해 및 활용

인증처리에서 SecurityContext 질문입니다.

180

에욱

작성한 질문수 17

0

컨트롤러에서 직접 사용자 인증처리를 구현하는데 마지막에 Oauth2AuthenticationToken을 SecurityContextHolder를 사용해 securityContext에 저장하는데, 이 처리는 이번 요청이 끝나면 securityContext가 초기화되므로 securityContext를 세션에도 저장해줘야 하는거 아닌가요?

java spring spring-boot oauth

답변 2

0

정수원

네 기본적으로는 세션에 저장해 줍니다.

이 역할을 하는 클래스가 HttpSessionSecurityContextRepository 입니다.

요청처리 후 응답 직전에 시큐리티가 항상 해주고 있습니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 에욱님.

스프링 시큐리티를 사용하여 인증 처리를 진행하시면서 SecurityContext과 세션 관리에 대해 질문 주셨네요.
SecurityContext은 기본적으로 요청(Request) 과정 동안 ThreadLocal에 저장됩니다. 요청이 끝나면 SecurityContext는 초기화되기 때문에, 인증 정보가 지속적으로 유지되기를 원하면 세션에 저장해야 합니다.

Spring Security에서는 기본적으로 SecurityContextPersistenceFilter라는 필터를 이용하여 SecurityContext의 상태를 관리합니다. 이 필터는 요청이 시작될 때 세션에서 SecurityContext를 읽어와 SecurityContextHolder에 저장하고, 요청이 완료될 때 SecurityContextHolder에 있는 SecurityContext를 세션에 다시 저장합니다. 이 과정을 통해 사용자의 인증 상태를 다음 요청에서도 유지할 수 있습니다.

만약 SecurityContext를 명시적으로 세션에 저장하고 싶다면, SecurityContextPersistenceFilter가 그것을 자동으로 처리하도록 설정하거나, 별도의 커스터마이징이 필요합니다.

관련 질문과 답변이 있는 링크를 참고하시면 더 정확한 이해에 도움이 되실 것입니다:
- SecurityContextHolder 관련해서

강의와 관련된 내용에 대한 깊이 있는 설명이 필요시, 지식공유자님의 강의 내용이나 추가 자료를 참조하시는 것도 좋습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

authorization-server 라이브러리 질문이 있습니다.

0

74

1

loadUser 중 Missing attribute 'preferred_username' in attributes 에러 발생

0

74

2

JWT 조회 에 대한 질문

0

69

1

password grant 방식 에러 응답

0

85

3

FormLoginConfigure에서 생성하는 필터

0

75

2

현업에서 springboot를 3.5.5 를 사용해서 공부중인데...

0

282

2

Jdbc 관련 강의 및 깃헙 문의

0

75

1

OAuth2AuthorizedClient 이해 및 활용 강의 내용 질문

0

207

1

UserInfo 엔드포인트 요청 실습

0

72

1

RFC 문서에서의 AccessToken 발급 방식 궁금한점

0

148

1

강의자료.zip 를 다운로드 받았는데 압축이 풀리지 않습니다. 확인 부탁드려요

0

136

2

OIDC SSO 관련 질문 입니다.

0

129

1

AuthenticationEntryPoint 강의 누락 문의

0

120

1

cors설정방법

0

115

1

jwt decoder 토큰 검증 시 질문

0

218

1

클라이언트에서 userinfo 엔드포인트 호출 시 질문

0

183

2

JOSE 구성요소의 api에 관한 질문

0

138

2

스프링 부트 3버전으로 따라가시는 분들 참고하세요

1

524

1

CustomOAuth2AuthenticationFilter 구현 중 질문

0

144

2

AuthenticationManager 생성시점

0

116

1

FormLogin과 Oauth2Client 둘 중 사용하는 시점

0

125

1

postman userinfo 엔드포인트 질문

0

130

2

강의 수강신청하고 듣기 전입니다 질문있습니다.

0

113

1

인증 코드를 통해 발급 받은 토큰의 관리

0

198

1