inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 OAuth2

OAuth2 로그인 구현 - Authorization Code 요청하기

OAuth2 로그인 구현 - Authorization Code 요청하기 - OAuth2AuthorizationRequest 객체 세션 저장 문제

897

리나

작성한 질문수 77

1

안녕하세요! 좋은 강의 너무 감사드립니다!

 

한가지 질문 드릴께 있습니다.

 

 

OAuth2 로그인 구현 - Authorization Code 요청하기

내용을 보면 첫번째 인증 단계! (response type = code)

OAuth2AuthorizationRequest 객체 담아서

인가 서버 (keyclack 서버) 에 전달 하게 되는데요

이것과 동시에

 

OAuth2AuthorizationRequest 객체를 sesstion 에 저장을 하게 됩니다.

 

그러면 사용자는 인가 서버 (keyclack 서버) 로그인을 성공적으로 해결된다면

 

미리 지정된 redirect url 통해

Authorization Code 값을 전달해주는데요!

그런 후 미리 OAuth2AuthorizationRequest 객체를 sesstion 저장된것을 가져오는데

 

만약 해당 서버가 1개 라서 다행이지만

scale out 경우 그러니깐 서버가 2대 이상이라면

 

맨처음 OAuth2AuthorizationRequest 객체 저장할때가

 

1번 서버라면

 

OAuth2AuthorizationRequest 객체를 가져올때가

 

2번 서버라면

 

이때 각각 다른 서버이기 때문에 가져오지 못하는 문제가 발생되지 않나요?

 

이때는 어떻게 해결해야 할까요??..

 

OAuth2AuthorizationRequest 객체를 외부 세션 서버로 저장 할수 있도록 다시 로직을 재구현 해야 하는걸까요?

 

 

spring oauth spring-boot java

답변 1

3

정수원

서버 이중화로 인한 세션 공유 부분은 일반적으로 Redis 와 같은 세션서버를 두고 각 서버가 세션을 공유하도록 구성을 하는 편입니다.

아니면 각 서버마다 세션을 클러스터링 해서 모든 서버가 동일한 세션을 공유하도록 설정을 할 수도 있습니다.

아무래도 세션공유서버를 사용하는 방식이 더 간편하고 효율적입니다.

스프링 시큐리티에서는 레디스를 사용해서 세션을 공유할 수 있는 기능을 제공하고 있습니다.

구글에서 검색해 보시면 여러 예제와 방법들이 나와 있으니 참고해 주시기 바랍니다.

0

최지호

쿠키에 저장하는건 보안적인 측면에서 이슈가 있나요??

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