로그인 인증 후 처리 질문입니다.
110
작성한 질문수 17
처음 로그인 인증처리받을때는 인가서버로부터 code를 받기 전에 유저의 동의가 필요하므로 유저가 아이디, 비밀번호를 입력하는 과정이 필요합니다. 그리고 이후 로그인 인증처리 완료되면 서버 세션에 SecurityContext 가 저장되고 인가서버에도 해당 유저의 세션이 저장되고 인증처리가 끝납니다. 근데 서버를 종료하고 재시작하면 서버의 세션이 초기화되므로 인증처리가 처음부터 다시 시작해야 될거같은데 서버 종료 후 다시 인증처리 받기 시작할땐 유저가 아이디, 비밀번호를 입력하는 과정 없이 authorizationEndpoint로 인가서버에 요청하기만 하면 인증과정이 성공합니다. 이유가 뭔가요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
에욱님, 질문 주신 내용에 관해 설명드리겠습니다. 사용자가 처음 로그인할 때 인증 과정을 거치면 인가 서버로부터 인증 코드(authorization code)를 받아야 하며, 보통 이 과정에서 사용자 동의를 받아야 합니다. 하지만, 이후에는 이미 처음 인증 과정에서 사용자 동의가 저장되어 있어, 같은 세션에서 반복적으로 동의 과정을 생략할 수 있습니다.
서버 측의 세션은 서버 재시작 시 초기화되지만, 인가 서버에서는 세션 상태가 유지되거나, 클라이언트 측에서도 세션이나 사용자 인증 상태를 유지하기 위해 쿠키나 저장소 같은 것을 사용할 수 있습니다. 따라서 인가 서버 또는 클라이언트 측의 사용자가 로그인된 상태가 유지되면서 사용자 확인 절차가 생략될 수 있습니다.
이러한 행동은 보통 인가 서버 및 OAuth2 클라이언트가 설정한 세션, 쿠키 및 토큰 정책에 따라 다를 수 있습니다. 예를 들어, 인가 서버는 사용자가 이미 로그인되었다고 판단할 수 있는 정보를 가지므로 재인증이 필요하지 않을 때도 있습니다.
관련 질문 및 답변 참고:
“OAuth 2.0 Client + Resource Server + Authorization Server 연동”
- 인가 서버와 세션 적재 과정을 설명합니다. 이를 참고하시면, 어떠한 기준으로 세션 상태가 유지되는지 더 이해하실 수 있습니다.
- 인가 서버와 세션 적재 과정을 설명합니다. 이를 참고하시면, 어떠한 기준으로 세션 상태가 유지되는지 더 이해하실 수 있습니다.
“SecurityContextHolder에 대한 질문”
- SecurityContext의 스레드 간 저장 방법에 대한 설명입니다. 이를 통해, 사용자의 인증 세션이 어떻게 관리되는지 이해를 돕습니다.
- 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





