1.引入JsonWebToken依赖
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
2.配置工具类JwtTokenUtils
package com.example.springbootdemo.common.utils;
import com.example.springbootdemo.model.User;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Date;
public class JwtTokenUtils {
private static RedisUtil redisUtil;
@Autowired
public void init(RedisUtil redisUtil) {
JwtTokenUtils.redisUtil = redisUtil;
}
public static String generateToken(User user) {
JwtBuilder jwtBuilder = Jwts.builder()
.setId(user.getId() + "")
.setSubject(user.getAccount())
.setIssuedAt(new Date())
.signWith(SignatureAlgorithm.HS256, "my-123");
System.out.println(jwtBuilder.compact());
return jwtBuilder.compact();
}
public static Claims analysisToken(String token) {
try {
Claims claims = Jwts.parser()
.setSigningKey("my-123")
.parseClaimsJws(token)
.getBody();
System.out.println("用户id:"+claims.getId());
System.out.println("用户名:"+claims.getSubject());
return claims;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
3.配置完成,即可使用!