12345678910111213141516171819202122232425262728293031 |
- 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<GrantedAuthority> 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;
- }
- }
|