JWT登录验证Token,创建Token,设置登录过期时间
创建Token工具类
public class TokenUtil {
/**
* 解析Token 解析Token 传换成Clasims类
* @param token
* @return
*/
public static Claims parseToken(String token){
try {
Claims claims = Jwts.parser()
.setSigningKey(ConstantUtil.secret)
.parseClaimsJws(token)
.getBody();
return claims;
}catch (ExpiredJwtException e){
throw new RuntimeException("token 已经过期");
}catch (Exception e){
throw new RuntimeException("token 解析异常");
}
}
/**
* 创建Token 登录成功后会创建Token,返回前端,存储到Cookie中
* @param user
* @return
*/
public static String createToken(User user){
Map<String,Object> claims = new HashMap<>();
// Id 用户重要信息 需要加密
String encodeId = Base64Utils.encodeToString(user.getId().getBytes());
String token = Jwts.builder()
.claim("username",