Java Spring引导资源服务器使用HTTP POST而不是HTTP GET验证令牌

Java Spring引导资源服务器使用HTTP POST而不是HTTP GET验证令牌,java,spring,spring-boot,oauth,Java,Spring,Spring Boot,Oauth,我有一个服务器,它具有所提到的依赖项和配置: spring-security-oauth2 spring-security-oauth2-autoconfigure 安全配置用@EnableResourceServer注释 属性包含: spring: security: oauth2: resource: token-info-uri: https://token-validation-url/example 当我执行requestcurl-H“Au

我有一个服务器,它具有所提到的依赖项和配置:

  • spring-security-oauth2
  • spring-security-oauth2-autoconfigure
安全配置用
@EnableResourceServer
注释

属性包含:

spring:
  security:
    oauth2:
      resource:
        token-info-uri: https://token-validation-url/example
当我执行request
curl-H“Authorization:xyz”时http://localhost:8080/my-端点
,我得到401,但我看不到将执行用于令牌验证的HTTP调用

如果我从属性中删除spring前缀,我仍然会得到401,但它会尝试HTTP POST到
https://token-validation-url/example

security:
  oauth2:
    resource:
      token-info-uri: https://token-validation-url/example
如果我使用相同的令牌并手动尝试
httpgethttps://token-validation-url/example?otoken=xyz
,它返回它是有效的

如何指定查询参数?
为什么服务器尝试使用
httppost
而不是
httpget
验证令牌?

注意到
httpposthttps://token-validation-url/example?otoken=xyz
验证与GET so used相同的内容:

security:
  oauth2:
    resource:
      token-info-uri: https://token-validation-url/example
只需设置令牌名称:

@SpringBootApplication
public class ExampleApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(ExampleApplication.class, args);
        RemoteTokenServices remoteTokenServices = context.getBean(RemoteTokenServices.class);
        remoteTokenServices.setTokenName("otoken");
    }
}

另一种配置
RemoteTokenServices

的方法是:我不知道这个确切的示例,但是当我使用spring security时,我需要一个以标头中的Bear开头的有效令牌,如下所述:我用Bear传递它,只是在示例中遗漏了。我不认为这会造成问题。