java - 存储 JWT 令牌
问题描述
我正在使用 JWT 进行身份验证。现在我想将这个生成的令牌存储在一个类中,以便任何其他类都可以使用它,直到会话到期。最好的方法是什么。我的应用程序在 Spring Boot 中。添加更多。我正在制作一个客户端,该客户端使用凭据访问休息 Web 服务以获取令牌。现在我需要将此令牌存储在某处,以便进一步的休息请求可以使用它。将令牌存储在 httpSession 中并进一步检索它是否可以。
解决方案
为了保护它免受 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");
}
推荐阅读
- docker - 通过 buildx 将缓存推送到不安全的注册表
- arrays - 如何从数组中创建路由
- flutter - Flutter TextField controller.clear() 将多次调用 onChanged
- html - 将作为 Angular 指令一部分的嵌套 HTML 元素的宽度设置为与父元素相同的宽度?
- android - 新的活动结果 API 和 Google Pay
- python - python中的Colorplot具有更平滑的分辨率,无需插值
- python - 如何在 python-telegram 库中提供 object_ptr 数据
- css - 从 CSS 模块访问公用文件夹
- sql - 我们可以在 oracle PL/SQL 中调用函数内部的过程吗?如果不是那为什么?
- android - 适用于 Kotlin Android Studio 的 Firebase 特定库