使用 Spring OAuth 支持多个资源 ID

Kon*_*Kon 5 java spring oauth-2.0 jwt azure-active-directory

情况。我们正在使用 Spring OAuth 来验证安全令牌 (JWT)。令牌具有aud对特定资源 ID 的声明。以下代码正确验证使用包含客户端 ID 的 aud 声明签名的任何 JWT 令牌resourceId-123

class ResourceServerConfig {

  @Bean
  protected ResourceServerConfiguration adminResources2() {
    ResourceServerConfiguration resource = new ResourceServerConfiguration() {
      void setConfigurers(List<ResourceServerConfigurer> configurers) {
        super.setConfigurers(configurers)
      }
    }
    resource.setConfigurers(Collections.<ResourceServerConfigurer>singletonList(new ResourceServerConfigurerAdapter() {
      @Override
      void configure(ResourceServerSecurityConfigurer resources) throws Exception {
        resources.resourceId("resourceId-123")
      }

      @Override
      void configure(HttpSecurity http) throws Exception {
        http.antMatcher("/path")
                .authorizeRequests()
                .anyRequest().authenticated()
      }
    }))

    resource.setOrder(3)
    return resource
  }
}
Run Code Online (Sandbox Code Playgroud)

题。我们如何支持同一路径的多个客户端 ID(在上面的示例中,/path)?我已经看到有关如何为不同的API 路径配置具有不同客户端 ID 的多个 Bean 的示例,但我想使用 2 个以上的客户端 ID 来保护此资源。关于如何做到这一点的任何示例或文档?还是我们试图做一些根本不正确的事情?