Files
qingcheng-houduan/src/main/java/com/greenorange/promotion/utils/JWTUtils.java
2025-04-24 11:49:32 +08:00

41 lines
1.0 KiB
Java

package com.greenorange.promotion.utils;
import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTCreator;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.DecodedJWT;
import java.util.Calendar;
import java.util.Map;
public class JWTUtils {
/**
* 生成token header.payload.signature
*/
private static final String SECRET = "qingcheng";
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();
// payload
map.forEach(builder::withClaim);
return builder.withExpiresAt(instance.getTime()) //指定令牌过期时间
.sign(Algorithm.HMAC256(SECRET));
}
/**
* 验证token 合法性
*/
public static DecodedJWT verify(String token) {
return JWT.require(Algorithm.HMAC256(SECRET)).build().verify(token);
}
}