1. JWT 工具封装
public class JWTUtils {
//密钥
private static final String SING = "xag688";
/**
* 生成token
*/
public static String getToken(Map<String,String> map){
Calendar instance = Calendar.getInstance();
//默认7天过期
instance.add(Calendar.DATE,7);
//创建jwt builder
JWTCreator.Builder builder = JWT.create();
map.forEach((k,v)->{
builder.withClaim(k,v);
});
String token = builder.withExpiresAt(instance.getTime())//有效期
.sign(Algorithm.HMAC256(SING));//密钥
return token;
}
/**
* 验证token合法性
*/
public static DecodedJWT verify(String token){
//返回验证结果(结果是内置的)
return JWT.require(Algorithm.HMAC256(SING)).build().verify(token);
}
2. 简单使用
2.1 生成
Map<String, String> payload = new HashMap<>();
//用户登录成功后的信息放入payload
payload.put("uid", String.valueOf(123));
//生成JWT令牌
String token = JWTUtils.getToken(payload);
2.2 验证
DecodedJWT verify = JWTUtils.verify(token);
3. 最后
感谢阅读,希望对您有用