package com.project.ding.utils; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import io.jsonwebtoken.security.Keys; import org.springframework.stereotype.Component; import java.security.Key; import java.util.Date; import java.util.List; @Component public class JwtUtils { private static final Key KEY = Keys.secretKeyFor(SignatureAlgorithm.HS256); private static final long EXPIRE = 86400000; // 24小时 public String createToken(String userId, List roles) { return Jwts.builder() .setSubject(userId) .claim("roles", roles) .setExpiration(new Date(System.currentTimeMillis() + EXPIRE)) .signWith(KEY).compact(); } public Claims parseToken(String token) { return Jwts.parserBuilder().setSigningKey(KEY).build().parseClaimsJws(token).getBody(); } }