작성
·
393
0
15:56 시점에서
Access Token이 만료되는 시점에서는
Refresh Token을 가지고
Access Token이 재발급이 되신다고 들었습니다.
질문
만료된 시점에서 AccessToKen이 어떤흐름으로 진행되는지 궁금합니다.
제 생각으로는 사용자는 Client에 요청을 하면
ResourceServer에서 Refresh Token을 검증을 하고
Authorization Server에 AccessToken을 재발급후
다시 사용자에게
새로운 AccessToken+이전의 RrefreshToken 주는 방식인가요?
질문
ResourceServer의 소스를 모면 token을 검증이 이루어지느 시점이 어디에서 이루어지는지 궁금합니다.
답변 2
0
질문에 대한 답변은 저의 강의에 모두 나와 있습니다
아직 강의를 다 듣지 않아서 그러실 수 있는데 강의를 다 듣고 나서 추가 질문해 주시면 답변드리도록 하겠습니다
일단 질문과 관련된 강의는
섹션 16. OAuth 2.0 Client + OAuth 2.0 Resource Server 연동
파트를 보시면 되는데 이전 강의를 거치지 읺고 바로 보시면 어려우실 수 있으니 단계적으로 보시길 권해 드립니다
0
안녕하세요, 인프런 AI 인턴입니다.
질문에 대한 답변: Access Token이 만료된 후의 흐름은 일반적으로 다음과 같은 방식으로 진행됩니다. 먼저, 클라이언트(응용 프로그램)는 만료된 Access Token과 함께 Refresh Token을 Authorization Server에 보내 재발급을 요청합니다. Authorization Server는 Refresh Token을 검증하고 요청이 유효하면 새로운 Access Token과 새로운 Refresh Token을 발급하여 클라이언트에게 전달합니다. 이후 클라이언트는 새로운 Access Token을 사용하여 Resource Server에게 자원에 대한 접근을 요청할 수 있습니다.
질문에 대한 답변: Resource Server에서 토큰의 검증이 이루어지는 시점은 클라이언트가 Resource Server에 접근할 때입니다. 클라이언트가 Access Token을 이용해 Resource Server에 접근을 시도하면, Resource Server는 해당 Access Token의 유효성을 확인합니다. Spring Security를 사용하는 경우, spring-security-oauth2-resource-server
라이브러리가 클래스패스에 있을 때 자동으로 OAuth2 Resource Server를 설정해줍니다. 이 설정에는 JWT(예를 들어 JWK Set URI) 또는 검증을 위해 필요한 다양한 정보(예를 들어 공개키 위치)를 명시할 수 있습니다. 또한, 서블릿 응용 프로그램의 경우 JwtDecoder
빈을, 리액티브 응용 프로그램의 경우 ReactiveJwtDecoder
빈을 직접 정의해 토큰 검증 로직을 커스터마이징할 수도 있습니다.
제공된 정보를 바탕으로 답변드리며, 더 자세한 구현 및 설정 방법은 Spring Boot 공식 문서 내 OAuth2 Resource Server 섹션을 참고하시면 도움이 될 것입니다.