Springboot整合JWT封装工具类篇(二)

前言:这里是将Springboot整合JWT测试篇(一)封装成工具类

复制代码
public class JWTUtils {
  //秘钥自己保管好
    private static String SECRET = "token!Q@W3e4r";
    /**
     * 生成token
     * @param map  //传入payload
     * @return 返回token
     */
    public static String getToken(Map<String,String> map){
        JWTCreator.Builder builder = JWT.create();
        map.forEach((k,v)->{
            builder.withClaim(k,v);
        });
        Calendar instance = Calendar.getInstance();
        instance.add(Calendar.DATE,3);//默认3天过期

        builder.withExpiresAt(instance.getTime());//指定过期时间
        return builder.sign(Algorithm.HMAC256(SECRET));
    }
    
    /**
     * 验证token
     * @param token
     * @return
     */
    public static DecodedJWT verify(String token){
     // 有任何验证异常,此处都会抛出
        return JWT.require(Algorithm.HMAC256(SECRET)).build().verify(token);  
    }
    
    /**
     * 获取token中payload数据
     * @param token
     * @return
     */
    public static Map<String, Claim> getPayloadFromToken(String token) {
        return    JWT.require(Algorithm.HMAC256(SECRET)).build().verify(token).getClaims();
    }
    
}
复制代码

 

posted @   向大海  阅读(154)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示