inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 OAuth2

API 커스텀 구현 -Authorization BaseUrl & Redirection BaseUrl

로그인 인증 후 처리 질문입니다.

110

에욱

작성한 질문수 17

0

처음 로그인 인증처리받을때는 인가서버로부터 code를 받기 전에 유저의 동의가 필요하므로 유저가 아이디, 비밀번호를 입력하는 과정이 필요합니다. 그리고 이후 로그인 인증처리 완료되면 서버 세션에 SecurityContext 가 저장되고 인가서버에도 해당 유저의 세션이 저장되고 인증처리가 끝납니다. 근데 서버를 종료하고 재시작하면 서버의 세션이 초기화되므로 인증처리가 처음부터 다시 시작해야 될거같은데 서버 종료 후 다시 인증처리 받기 시작할땐 유저가 아이디, 비밀번호를 입력하는 과정 없이 authorizationEndpoint로 인가서버에 요청하기만 하면 인증과정이 성공합니다. 이유가 뭔가요?

java spring spring-boot oauth

답변 1

0

인프런 AI 인턴

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

에욱님, 질문 주신 내용에 관해 설명드리겠습니다. 사용자가 처음 로그인할 때 인증 과정을 거치면 인가 서버로부터 인증 코드(authorization code)를 받아야 하며, 보통 이 과정에서 사용자 동의를 받아야 합니다. 하지만, 이후에는 이미 처음 인증 과정에서 사용자 동의가 저장되어 있어, 같은 세션에서 반복적으로 동의 과정을 생략할 수 있습니다.

서버 측의 세션은 서버 재시작 시 초기화되지만, 인가 서버에서는 세션 상태가 유지되거나, 클라이언트 측에서도 세션이나 사용자 인증 상태를 유지하기 위해 쿠키나 저장소 같은 것을 사용할 수 있습니다. 따라서 인가 서버 또는 클라이언트 측의 사용자가 로그인된 상태가 유지되면서 사용자 확인 절차가 생략될 수 있습니다.

이러한 행동은 보통 인가 서버 및 OAuth2 클라이언트가 설정한 세션, 쿠키 및 토큰 정책에 따라 다를 수 있습니다. 예를 들어, 인가 서버는 사용자가 이미 로그인되었다고 판단할 수 있는 정보를 가지므로 재인증이 필요하지 않을 때도 있습니다.

관련 질문 및 답변 참고:

  1. “OAuth 2.0 Client + Resource Server + Authorization Server 연동”

    • 인가 서버와 세션 적재 과정을 설명합니다. 이를 참고하시면, 어떠한 기준으로 세션 상태가 유지되는지 더 이해하실 수 있습니다.
  2. “SecurityContextHolder에 대한 질문”

    • SecurityContext의 스레드 간 저장 방법에 대한 설명입니다. 이를 통해, 사용자의 인증 세션이 어떻게 관리되는지 이해를 돕습니다.

위 응답이 질문에 대한 해답이 되셨길 바랍니다. 더 궁금한 부분이 있으시면 언제든지 추가로 질문해 주세요.

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

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