您是否应该将授权标头发送到不受限制的端点 REST?

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

我有一个带有 JWT 身份验证的 Rest API(在 Spring Boot 中编码)。一切正常,但是如果您将无效的 JWT 发送到不受限制的端点,我会收到 401 未经授权的响应。如果我没有发送 JWT 授权承载标头,则一切都会按预期工作。

查看 spring security 提出的这个 github 问题,维护者认为这是正确的行为,尽管我不明白为什么?

一般来说,最好的做法是在客户端处理此问题,存储不受限制的端点并且不向这些端点发送授权标头,还是这不是推荐的行为?

spring rest spring-security jwt authorization
1个回答
0
投票

在我看来,如果它真的是

unrestricted
,你可以避免它成为
filtered
。我的意思是,你必须创建一个
WebSecurityCustomizer
,类似这样的:

  @Bean
  public WebSecurityCustomizer webSecurityCustomizer() {
    return (web) -> web.ignoring().requestMatchers("/ignore1", "/ignore2");
  }

但总的来说,我同意发布在12599上的评论:

将不记名令牌发送到 /info/permit 是无效请求,并且是调用者的错误。不记名令牌是一种凭证,凭证只能传递到受保护的端点。如果请求发送到公共(不受保护)端点,则无需发送任何凭据

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