jwt生成Token的工具类。
当做用户登录业务的时候一般需要使用到jwt
token就好比一个人的身份证 当然token也会过期,可以自定义过期时间。不多废话直接上工具类
package com.wwjjbt.sob_blog_system_mp.utils; import com.wwjjbt.sob_blog_system_mp.pojo.TbUser; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import java.util.Date; /** * jwt工具类 */ public class JwtUtils { public static final String SUBJECT = "onehee"; public static final long EXPIRE = 1000*60; //过期时间,毫秒,一秒 //秘钥 public static final String APPSECRET = "c60b98a542615d7d26e3724f26356a47"; /** * 生成jwt */ public static String createJsonWebToken(TbUser user){ if(user == null || user.getId() == null || user.getUserName() == null || user.getAvatar()==null){ return null; } String token = Jwts.builder().setSubject(SUBJECT) .claim("id",user.getId()) .claim("name",user.getUserName()) .claim("img",user.getAvatar()) .setIssuedAt(new Date()) .setExpiration(new Date(System.currentTimeMillis()+EXPIRE)) .signWith(SignatureAlgorithm.HS256,APPSECRET).compact(); return token; } /** * 校验token */ public static Claims checkJWT(String token ){ try{ final Claims claims = Jwts.parser().setSigningKey(APPSECRET). parseClaimsJws(token).getBody(); return claims; }catch (Exception e){ } return null; } }