一起学习Spring Boot 2.X | 第十六篇:JSON Web Tokens

1.POM依赖

<dependency>
    <groupId>io.jsonwebtoken</groupId>
    <artifactId>jjwt</artifactId>
    <version>0.9.0</version>
</dependency>

2.JwtUti.java

import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Date;

public class JWTUtil {

    private final static String KEY = "myScrect";//签名秘钥

    private final static long TOKEN_EXP = 1000 * 60 * 10;//过期时间,测试使用十分钟

    //生成Token
    public static String getToken(String Uniqueness) {
        return Jwts.builder().setSubject(Uniqueness).signWith(SignatureAlgorithm.HS512, KEY).compact();
    }

    //解析Token
    public static String analysisToken(String Token) {
        System.out.println(Jwts.parser().setSigningKey(KEY).parseClaimsJws(Token).getBody());
        return Jwts.parser().setSigningKey(KEY).parseClaimsJws(Token).getBody().getSubject();
    }

    //判断是否为空
    public static boolean isTokenExpired(String Token) {
        return Jwts.parser().setSigningKey(KEY).parseClaimsJws(Token).getBody().getExpiration().before(new Date(System.currentTimeMillis()));
    }

}

3.测试

//唯一ID
String Token = JWTUtil.getToken(userid);
System.out.println(JWTUtil.getToken(userid));
System.out.println(Token);
//解析Token
String user = JWTUtil.analysisToken(Token);


@RequestMapping("/B")
    public String B(String Token){
        String user = null;
        try {
            System.out.println(JWTUtil.isTokenExpired(Token));
            if (JWTUtil.isTokenExpired(Token)){
                return "'flag':'0'";
            }
            user = JWTUtil.analysisToken(Token);

        }catch (Exception e){
            System.out.println(e.getMessage());
        }
        return user;
    }
发布了40 篇原创文章 · 获赞 173 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/qq_41920732/article/details/99952316