package com.jkcredit.sysnews.util; import com.alibaba.fastjson.JSON; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import org.springframework.security.core.GrantedAuthority; import java.util.*; public class JwtTokenUtil { public static String generateToken(String subject, int expirationSeconds, String salt, Collection authorities) { return Jwts.builder() .setSubject(subject) .claim("authorities", JSON.toJSONString(authorities)) .setExpiration(new Date(System.currentTimeMillis() + expirationSeconds * 1000)) .signWith(SignatureAlgorithm.HS512, salt) // 不使用公钥私钥 // .signWith(SignatureAlgorithm.RS256, privateKey) .compact(); } public static Claims parseToken(String token, String salt) { Claims claims = Jwts.parser() .setSigningKey(salt) // 不使用公钥私钥 // .setSigningKey(publicKey) .parseClaimsJws(token).getBody(); return claims; } }