복붙노트

[SPRING] 스프링 보안으로 OAuth 2.0에서 resourceId의 의미

SPRING

스프링 보안으로 OAuth 2.0에서 resourceId의 의미

org.springframework.security.oauth2.provider.filter의 OAuth2ProtectedResourceFilter :

Collection<String> resourceIds = auth.getClientAuthentication().getResourceIds();
if (resourceIds!=null && !resourceIds.isEmpty() && !resourceIds.contains(resourceId)) {
    throw new InvalidTokenException("Invalid token does not contain resource id ("+resourceId+"): " + token);                   
}

나는 그것이 유용하지 않다고 생각한다. 이 코드는 무엇을 검사합니까?

해결법

  1. ==============================

    1.내가 수집 한 것을 바탕으로 자원 서비스의 ID입니다.

    내가 수집 한 것을 바탕으로 자원 서비스의 ID입니다.

    API 버전 지정을 위해 oauth 토큰 공급자 서블릿과 리소스 서버를 분리 할 때 더 명확 해집니다. 예를 들어, 클라이언트 A (cA)가 api1에 액세스하고 클라이언트 B (cB)가 api2에 액세스 할 수 있다고 가정하면 리소스 서버 xml에서 resource-id = api1 인 api1을 지정하고 클라이언트 세부 정보를 구성하여이 액세스를 시행합니다 cA의 경우 resourceIds = "api1"이고 [cB, api2]의 경우도 마찬가지입니다.

    이를 통해 API 액세스를 보호하고 클라이언트 선언과 별도로 보호 선언을 유지할 수 있습니다.

  2. ==============================

    2.클라이언트가 특정 리소스를 볼 권한이 있는지 여부를 확인하는 것 같습니다. 토큰 변수가 어떻게 관련되어 있는지, 당신이 보여주지 않은 관련 코드가 더있는 것처럼 보입니다.

    클라이언트가 특정 리소스를 볼 권한이 있는지 여부를 확인하는 것 같습니다. 토큰 변수가 어떻게 관련되어 있는지, 당신이 보여주지 않은 관련 코드가 더있는 것처럼 보입니다.

  3. from https://stackoverflow.com/questions/8598960/what-does-resourceid-mean-in-oauth-2-0-with-spring-security by cc-by-sa and MIT license