集训Demo4
创建数据库
创建项目
基本和视频中的一样
我给User添加了vip这个属性,想实现两个令牌通过访问的案例,但遇到了问题
一个令牌是密码加用户名的map数组
这是它的获取、验证逻辑
获取
验证
另一个令牌是Int vip
这是自己写的另一套密钥和方法
获取
但在验证这里有问题
头文件的Authorization只有一个,token有两个。
导致token2不知道怎么传递
不知道说什么
解释一下JwtUtil工具类
private static final String KEY2 = "weiwei"; 这是定义 HMAC256 算法的密钥
.withClaim("claims", claims) 将业务数据 claims
存入 JWT 的 payload
中,键名为 "claims"
Payload
是 JWT 中存放有效信息的地方
.withExpiresAt(...) 设置 JWT 的过期时间
.sign(Algorithm.HMAC256(KEY)) 使用 HMAC256 算法和密钥 KEY
生成签名
JWT.require(Algorithm.HMAC256(KEY)) 创建 JWT 验证器,指定使用 HMAC256 算法和密钥 KEY
进行签名验证
.build() 构建 JWT 验证器实例
.verify(token) 验证 JWT 的签名和有效性
.getClaim("claims") 从 JWT 的 payload
中获取名为 "claims"
的字段
.asMap(); 将 Claim
对象转换为 Map<String, Object>