超简单的jwt验证token,直接复制粘贴即可使用!
一、添加依赖
<!-- jwt加密 --><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.14.0</version></dependency>
二、新建一个TokenUtil.class工具类
package com.example.springboot.utils;import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.DecodedJWT;import java.util.Calendar;
import java.util.HashMap;/*** JWT token加解密工具类*/
public class TokenUtils {private static String key = "jweijo1231ojiSDJOIA23Ssdii";// 密钥签名private static Integer end_day = 7;// 密钥过期天数/*** token加密* @param id 账号* @return*/public static String signToken(String id){HashMap<String, Object> map = new HashMap<>();// 指定令牌的过期时间,这里是【7天】后令牌token失效Calendar instance = Calendar.getInstance();instance.add(Calendar.DAY_OF_WEEK, end_day);// 生成tokenString token = JWT.create().withHeader(map) // header可以不写,因为默认值就是它.withClaim("user", id) //payload.withExpiresAt(instance.getTime()) // 指定令牌的过期时间.sign(Algorithm.HMAC256(key));//签名return token;}/*** 验证token合法性* @param token* @return*/public static DecodedJWT verify(String token) {return JWT.require(Algorithm.HMAC256(key)).build().verify(token);}/*** 获取token真实内容* @param token* @return*/public static DecodedJWT getTokenInfo(String token){DecodedJWT verify = JWT.require(Algorithm.HMAC256(key)).build().verify(token);return verify;}
}