生成JWT代码

  • 需要添加依赖项:

    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt</artifactId>
        <version>0.9.1</version>
    </dependency>
    
  • 关于生成JWT解析JWT的示例代码:

    public class JwtTests {
    
        String secretKey = "a9F8ujGFDhjgvfd3SA90ukEDS";
    
        @Test
        public void generate() {
            Date date = new Date(System.currentTimeMillis() + 5 * 60 * 1000L);
    
            Map<String, Object> claims = new HashMap<>();
            claims.put("id", 9527);
            claims.put("username", "liucangsong");
    
            String jwt = Jwts.builder()
                    // Header
                    .setHeaderParam("alg", "HS256")
                    .setHeaderParam("typ", "JWT")
                    // Payload 载荷
                    .setClaims(claims)
                    // Signature 签名
                    .setExpiration(date)//过期时间
                    .signWith(SignatureAlgorithm.HS256, secretKey)
                    .compact();
            System.out.println(jwt);
    
     
            // eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6OTUyNywiZXhwIjoxNjY3ODc5ODAxLCJ1c2VybmFtZSI6ImxpdWNhbmdzb25nIn0.fjPvR0ibgNKoTp6U-1fCOcMoAVMRkAQ1yr4C2fvf6YQ
        }
    
        @Test
        public void parse() {
            String jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6OTUyNywiZXhwIjoxNjY3ODc5ODAxLCJ1c2VybmFtZSI6ImxpdWNhbmdzb25nIn0.fjPvR0ibgNKoTp6U-1fCOcMoAVMRkAQ1yr4C2fvf6YQ";
    
            Claims claims = Jwts.parser()
                    .setSigningKey(secretKey)
                    .parseClaimsJws(jwt)
                    .getBody();
    
            Long id = claims.get("id", Long.class);
            String username = claims.get("username", String.class);
    
        }
    
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hyde_jn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值