繁体   English   中英

Spring Boot Actuator 未报告对 Spring Authorization Server OAuth2 端点的请求的 HTTP 跟踪信息

[英]Spring Boot Actuator not reporting HTTP trace information for requests to Spring Authorization Server OAuth2 endpoints

我有一个运行 spring-security-oauth2-authorization-server 0.2.3 的 OAuth 授权服务器。 我启用了 Spring Boot Actuator 端点,以便 Spring Boot Admin 可以从应用程序中提取 Actuator 数据。 我能够查看 HTTP 跟踪信息,但该信息包括对我在控制器中为我的自定义授权同意页面映射的一个自定义端点的请求。 对于向 OAuth /authorize/token端点发出的请求,没有报告任何 HTTP 跟踪信息。 我已经在 Spring Boot Admin 和直接点击应用程序上的/httptrace Actuator 端点检查了 Actuator HTTP 跟踪响应。 我觉得这是一个过滤器排序的情况,但我对请求链中何时/何地捕获 Actuator HTTP 跟踪数据知之甚少。 如何为 spring-security-oauth2-authorization-server 库实现的 OAuth 端点启用 HTTP 跟踪报告?

在 spring-authorization-server 项目板上发布了一个问题,并获得了一些解决方案的帮助。 事实证明,这确实是一个过滤器排序问题。 修复方法是通过执行以下操作来声明优先级高于 Spring Security 过滤器链的 HttpTraceFilter bean:


@Bean
HttpTraceFilter httpTraceFilter(final HttpTraceRepository repository, 
                                final HttpExchangeTracer tracer, 
                                final SecurityProperties securityProperties) {
    final HttpTraceFilter httpTraceFilter = new HttpTraceFilter(repository, tracer);
    httpTraceFilter.setOrder(securityProperties.getFilter().getOrder() - 1);

    return httpTraceFilter;
}

我将 Spring 项目上的问题保留为打开状态,希望将其合并到库中以提供功能跟踪作为默认行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM