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 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); } }