OAuth 2.0 Resource Server
OAuth 2.0 Resource Server
OAuth 2.0 인가 프레임워크의 역할 중 클라이언트 및 인가 서버와의 통신을 담당하는 리소스 서버의 기능을 필터 기반으로 구현한 모듈
간단한 설정만으로 클라이언트의 리소스 접근 제한, 토큰 검증을 위한 인가 서버와의 통신 등의 구현이 가능하다.
애플리케이션의 권한 관리를 별도 인가 서버에 위임하는 경우에 사용할 수 있으며 리소스 서버는 요청을 인가할 때 이 인가 서버에 물어볼 수 있다.
OAuth2ResourceServer
클라이언트의 접근을 제한하는 인가 정책을 설정하는 것이 주목적
인거 서버에서 발급한
Access Token의 유효성을 검증하고 접근 범위(스코프)에 따라 적절한 자원을 전달하도록 설정한다.
JWT
JWT로 전달되는 토큰을 검증하기 위한JwtDecoder,BarerTokenAuthenticationFilter,JwtAuthenticationProvider등의 클래스 모델들을 제공한다.자체 검증 프로세스를 지원한다.
Opaque
Opaque : 불투명한
인가 서버의
introspection엔드 포인트로 검증할 수 있는Opaque토큰을 지원한다.실시간으로 토큰의 활성화 여부를 확인할 수 있다.
의존성
implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server'리소스 서버를 지원하는 코드는 대부분
spring-security-oauth2-resource-server에 들어있다.JWT를 디코딩하고 검증하는 로직은
spring-security-oauth2-jose에 있다.따라서 리소스 서버가 사용할 Bearer 토큰을 JWT로 인코딩 한다면 두 모듈이 모두 필요하다.
위의 의존성은 두 모듈이 모두 포함되어 있다.
Last updated