带有 JWT 身份验证和 csrf 令牌的 Spring 启动无状态应用程序

use*_*362 5 spring csrf jwt spring-boot

我有带有 JWT 身份验证的 Spring 启动应用程序,效果很好!但是我已经使用 STATELESS 策略禁用了 csrf:

        .csrf()
            .disable()
        .sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
Run Code Online (Sandbox Code Playgroud)

此 Rest API 用于 SPA React 应用程序。我读到当我使用 JWT 令牌时,我不需要设置 csrf 令牌。JWT 是否像 csrf 保护(如何)一样工作?我认为这不是 csrf 保护。

小智 8

CSRF攻击是利用浏览器在向所请求服务器的请求中总是包含cookie(包括会话ID)的事实,因此攻击者在执行恶意操作时假装自己是真实用户。

如果您的端点是无状态的(这意味着您没有使用 cookie 进行身份验证),那么您不需要 CSRF 保护。