JWT使用
JWT使用
1、导入maven依赖
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
2、测试代码
package com.codertl.jwt;
import io.jsonwebtoken.*;
import org.junit.jupiter.api.Test;
import java.util.Date;
import java.util.UUID;
/**
* @Description
* @Author Admin
* @Date 2021/11/8
*/
public class test {
// 定义有效期 一天
private long time = 1000 * 60 * 60 * 24;
// 签名信息
private String signature = "admin";
@Test
public void jwt() {
// 创建 jwt 对象
JwtBuilder jwtBuilder = Jwts.builder();
String jwtToken = jwtBuilder
// header 头部
.setHeaderParam("type", "JWT")
.setHeaderParam("alg", "HS256")
// payload 载体
.claim("username", "codertl")
.claim("role", "admin")
// 主题
.setSubject("admin-test")
// 有效时间 一天
.setExpiration(new Date(System.currentTimeMillis()+ time))
.setId(UUID.randomUUID().toString())
// 签名 signature
.signWith(SignatureAlgorithm.HS256, signature)
.compact();
System.out.println(jwtToken);
}
@Test
public void parse() {
String token = "上边生成的 token";
JwtParser jwtParser = Jwts.parser();
Jws<Claims> claimsJws = jwtParser.setSigningKey(signature).parseClaimsJws(token);
Claims claims = claimsJws.getBody();
System.out.println("用户名:" + claims.get("username"));
System.out.println("角色:" + claims.get("role"));
System.out.println("Id:" + claims.getId());
System.out.println("签名" + claims.getSubject());
System.out.println("有效期" + claims.getExpiration());
}
}
本文来自博客园,作者:CoderTL,转载请注明原文链接:https://www.cnblogs.com/codertl/p/15526464.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix