Spring Security OAuth2何时检查访问令牌到期?

问题描述 投票:0回答:1

我正在调试生产环境中的一个场景,在这个场景中,我断断续续地看到来自资源服务器的意外HTTP 401响应。 我正在使用Spring Security OAuth2("老 "OAuth库;Spring Security 5.2.x之前及其OAuth2的实现)来处理请求并执行Authn。

我观察到的情况如下。

  1. 一个用户在登录的时候 x (这里的时间以秒为单位)并获得一个访问令牌。 该访问令牌在时间 x + 900 (15分钟有效期)。
  2. 在时间 x + 480,用户向受保护的端点发出请求。
  3. 该请求需要很长时间才能完成,以至于当令牌过期时,它仍在被处理。 在时间 x + 900,服务器返回一个 HTTP 401 响应。

问题。

  1. Spring Security OAuth2真的是这样工作的吗? 具体来说,它是否会跟踪token的过期时间,在token过期时,如果请求仍在处理,则返回401? 还是在安全过滤器的另一端,在准备响应的时候?
  2. 有没有办法禁止这种行为,使token只在请求第一次被处理时被检查?
spring spring-boot spring-security oauth-2.0 spring-security-oauth2
1个回答
0
投票

我看了一下 spring-security-oauth2 而这不是它的工作方式。 令牌过期只检查一次,在处理请求的开始阶段。

我将我遇到的上述问题追溯到一个问题,即我们的服务器资源在一段时间内达到了最大值。 当资源(CPU;HTTP请求工作线程)变得可用时,服务器开始处理请求,但此时令牌已经过期。

© www.soinside.com 2019 - 2024. All rights reserved.