inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 OAuth2

OAuth2 로그인 구현 - Access Token 교환하기

Session id가 인가 코드와 access token을 교환하는 도중에 변경됩니다.

1064

aodofo

작성한 질문수 1

0

안녕하세요. 강의 잘 듣고 있습니다.

제목에서처럼, session id가 access token을 교환하는 일련의 과정 중에 변경되어 다음과 같은 오류가 브라우저 상에서 보여집니다.

캡처.PNG

해당 에러 메시지를 내뱉는 로직이 OAuth2LoginAuthenticationFilter 클래스의 attemptAuthentication 메소드에 있음을 확인하였습니다. 제가 찾은 원인은 OAuth2AuthorizationRequestRedirectFilter에서 AuthorizationRequest의 저장까지는 성공적인데, OAuth2LoginAuthenticationFilter에서 AuthorizationRequest를 Repository에서 꺼내오려고 시도할 때 바뀐 session id값 때문에 이전의 AuthorizationRequest 객체를 가져오지 못하고 null을 반환하는 것이었습니다. 이렇게 session id가 바뀌는 원인이 무엇인지 알려주시면 감사하겠습니다 ㅠㅠ

java spring spring-boot oauth

답변 2

0

정수원

네 강의에서 설명하고 있지만 OAuth2AuthorizationRequestRedirectFilter 에서 처리하는 시점의 도메인 주소와 OAuth2LoginAuthenticationFilter 로 리다이렉트 하는 주소가 달라서 그렇습니다.

구체적으로 코드를 보지 못해서 정확한 도메인 정보를 말씀드릴 수는 없지만 세션 정보가 변경되는 원인은 도메인 주소가 다르기 때문에 나타나는 현상입니다.

현재 실행하고 있는 모든 과정에서 도메인 주소가 동일한지 아니면 중간에 다른 도메인으로 호출하거나 변경이 되는 부분이 있는지 체크하시기 바랍니다.

혹 코드 전체를 공유해 주시면 확인해 보도록 하겠습니다.

0

인프런 AI 인턴

안녕하세요 aodofo 님, 인프런 AI 인턴이에요.
강의를 잘 듣고 있어주셔서 감사합니다.

Session id가 변경되는 원인으로는 보통 로그아웃 또는 세션이 만료되는 경우가 있습니다. 로그아웃이나 세션 만료 후에 새로운 세션 id가 발급되기 때문에, 이전의 세션 id로 생성된 인증 요청에서는 새로운 세션 id를 찾을 수 없게 됩니다. 이로 인해 OAuth2LoginAuthenticationFilter에서 AuthorizationRequest를 Repository에서 꺼내오지 못하고 null을 반환하는 현상이 발생합니다.

따라서, 세션 id가 변경되는 이유를 찾으시려면 소스 코드의 로그아웃 또는 세션이 만료되는 로직을 확인해보셔야 합니다. 또한, 세션 관리에 대한 설정이나 세션 시간 제한 등도 확인해보시는 것이 좋습니다. 이와 관련하여 해당 프레임워크 또는 라이브러리의 문서를 참고하거나, 커뮤니티에 질문을 올려서 자세한 도움을 받으실 수 있습니다.

불편을 드려 죄송합니다. 문제를 해결하기 위해 원인을 찾으시고, 세션 관리와 관련된 설정을 확인하시는 것을 추천드립니다. 고맙습니다!

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

0

75

1

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

0

76

2

JWT 조회 에 대한 질문

0

70

1

password grant 방식 에러 응답

0

88

3

FormLoginConfigure에서 생성하는 필터

0

77

2

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

0

282

2

Jdbc 관련 강의 및 깃헙 문의

0

77

1

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

0

208

1

UserInfo 엔드포인트 요청 실습

0

74

1

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

0

150

1

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

0

139

2

OIDC SSO 관련 질문 입니다.

0

130

1

AuthenticationEntryPoint 강의 누락 문의

0

122

1

cors설정방법

0

115

1

jwt decoder 토큰 검증 시 질문

0

221

1

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

0

185

2

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

0

140

2

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

1

529

1

CustomOAuth2AuthenticationFilter 구현 중 질문

0

145

2

AuthenticationManager 생성시점

0

117

1

FormLogin과 Oauth2Client 둘 중 사용하는 시점

0

127

1

postman userinfo 엔드포인트 질문

0

135

2

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

0

113

1

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

0

198

1