首页 > 解决方案 > 存储 JWT 令牌

问题描述

我正在使用 JWT 进行身份验证。现在我想将这个生成的令牌存储在一个类中,以便任何其他类都可以使用它,直到会话到期。最好的方法是什么。我的应用程序在 Spring Boot 中。添加更多。我正在制作一个客户端,该客户端使用凭据访问休息 Web 服务以获取令牌。现在我需要将此令牌存储在某处,以便进一步的休息请求可以使用它。将令牌存储在 httpSession 中并进一步检索它是否可以。

标签: javaspringspring-mvcspring-bootjwt

解决方案


为了保护它免受 CSRF 的影响,最好不要存储 JWT 令牌。

但是,如果您仍然想保留或使用它,那么在 Spring Boot 中的一种方法是您可以在任何休息请求中包含@RequestHeader参数,其值为“授权”,然后您可以从中获取 jwt 令牌并可以根据您的功能使用它:

@GetMapping("/abc")
public ResponseEntity<String> getToken(
    @RequestHeader(value="Authorization")  String authorizationHeader){
    String jwt = authorizationHeader.substring(7);
    //your functionality
    return ResponseEntity.ok("JWT Token successfully retrieved");
}

推荐阅读