JwtTokenUtil.java 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. package com.jkcredit.sysnews.util;
  2. import com.alibaba.fastjson.JSON;
  3. import io.jsonwebtoken.Claims;
  4. import io.jsonwebtoken.Jwts;
  5. import io.jsonwebtoken.SignatureAlgorithm;
  6. import org.springframework.security.core.GrantedAuthority;
  7. import java.util.*;
  8. public class JwtTokenUtil {
  9. public static String generateToken(String subject, int expirationSeconds, String salt, Collection<GrantedAuthority> authorities) {
  10. return Jwts.builder()
  11. .setSubject(subject)
  12. .claim("authorities", JSON.toJSONString(authorities))
  13. .setExpiration(new Date(System.currentTimeMillis() + expirationSeconds * 1000))
  14. .signWith(SignatureAlgorithm.HS512, salt) // 不使用公钥私钥
  15. // .signWith(SignatureAlgorithm.RS256, privateKey)
  16. .compact();
  17. }
  18. public static Claims parseToken(String token, String salt) {
  19. Claims claims = Jwts.parser()
  20. .setSigningKey(salt) // 不使用公钥私钥
  21. // .setSigningKey(publicKey)
  22. .parseClaimsJws(token).getBody();
  23. return claims;
  24. }
  25. }