인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 시큐리티 OAuth2

Spring Authorization Server - 인가서버 시작하기

resouce server 질문

작성

·

51

0

인가서버 설정을 하면서 인가서버에서 accessToken을 받고 이를 검증해야하기 때문에 oauth2ResourceServer api를 jwt로 설정한다고 설명하셨는데 이게 무슨 말인지 잘 모르겠습니다. oauth2ResourceServer 는 말그대로 헤더에 jwt 토큰이 있는 요청이 들어오면 이 jwt 토큰을 인가서버와의 통신으로 검증해서 인증처리를 하는 구조인건데 인가서버 설정에서 이게 왜 필요한건지 잘 모르겠습니다. user info 요청할때 클라이언트가 인가서버로 accessToken을 주면서 유저정보 달라고할때 인가서버에서 이 accessToken을 검증하는데, 이때 리소스 서버를 사용해서 검증한다는건가요? 그럼 oauth2ResourceServer api를 등록안하면 인가서버는 자체적으로 accessToken을 검증할수가 없는건가요? 인가서버와 리소스서버는 서로 다른 개념인거 같은데 인가서버를 위해 리소스서버를 써야한다는게 잘 이해가 가지 않습니다.

답변 2

0

정수원님의 프로필 이미지
정수원
지식공유자

네 핵심을 잘 이해하신 것 같습니다.

사실 리소스 서버라는 이름으로 제공하는 라이브러리이기 때문에 약간 혼동이 생길 수 있는데 인가서버에서 accessToken 이 들어오게 되면 이 토큰에 대한 검증을 해야 합니다.

물론 인가서버 자체적으로 토큰을 검증할 수 있는 기능을 포함하고 있다면 가능하겠으나 시큐리티는 그 역할을 리소스 서버쪽에 할당했다고 보시면 됩니다.

그리고 인가서버는 토큰발급이 주 목적이긴 합니다.

0

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

에욱님, OAuth2와 스프링 시큐리티에서의 Authorization ServerResource Server의 개념에 대해 궁금하신 것 같습니다. 개념 이해에 도움이 될 수 있는 기존의 유사한 질문들이 있어 이렇게 안내드립니다.

  1. AuthorizationServer 와 Resource Server 용어 질문이있습니다.: 이 질문은 정의나 개념적으로 Authorization Server와 Resource Server가 어떻게 다른지, 그리고 두 서버가 어떻게 상호작용하는지를 설명합니다.

    • Summary: Authorization Server는 토큰을 발급하는 역할을 하며 Resource Server는 발급된 토큰을 검증하여 보호된 자원에 접근을 허용하는 구성 요소입니다. 때로는 두 역할이 혼합되거나 하나의 서버에서 둘 다 수행할 수 있지만, 각각의 주요 기능을 이해하는 것이 중요합니다.
  2. Resource Owner Password grant 방식 문의: 이는 OAuth2의 다른 grant 타입과 그 구현 방식에 관한 내용입니다. 비록 Resource Server의 직접적인 설명은 아니지만, OAuth2의 전반적인 작동 방식을 이해하는 데 유용합니다.

  3. Resources Server 질문: 이 게시물은 Resource Server와 Authorization Server의 역할에 대해 상당히 구체적인 설명을 제공하며, 이를 통해 서버들이 사용자의 인증을 어떻게 처리하는지에 대한 추가 맥락을 제공합니다.

OAuth2ResourceServer는 스프링 시큐리티에서 Resource Server의 기능을 활성화하는 구성 요소로, 전달된 JWT 토큰을 검증하여 요청한 사용자가 권한이 있는지를 확인하는 역할을 합니다. AccessToken이 제공되면, Resource Server가 이를 검증하여 자원 접근 허용 여부를 판단합니다.

인가 서버가 AccessToken을 발행하는 곳이라면, Resource Server는 그 토큰을 검증하는 곳으로 생각하시면 됩니다. 인가 서버에서 자체적으로 토큰을 검증할 순 있지만, Resource Server를 통해 외부 애플리케이션이 특정 자원에 접근할 때 그 인증을 처리합니다.

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

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기