SpringBoot之JWT令牌校验
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service
public class JwtTokenProvider {
private String secretKey = "secret";
// 创建JWT令牌
public String createToken(String username) {
long now = System.currentTimeMillis();
Date expiryDate = new Date(now + 3600_1000); // 令牌有效期1小时
String token = Jwts.builder()
.setIssuedAt(new Date(now))
.setExpiration(expiryDate)
.claim("username", username)
.signWith(io.jsonwebtoken.SignatureAlgorithm.HS256, secretKey)
.compact();
return token;
}
// 解析JWT令牌
public Claims parseToken(String token) {
return Jwts.parser()
.setSigningKey(secretKey)
.parseClaimsJws(token)
.getBody();
}
}
这段代码提供了一个简单的JWT令牌生成和解析的例子。在实际应用中,你需要根据自己的需求来设置密钥、过期时间等参数。记住,在实际生产环境中,密钥应该是安全的,并且要定期更新。
评论已关闭