本文介绍了如何在Java项目中使用Auth0的java-jwt库来处理JWT令牌,包括生成带过期时间的令牌,以及使用JWT-util工具类进行token的接收、验证和解析业务数据的过程,参考了CSDN博客的相关内容。
<!--java-jwt坐标--> <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>4.4.0</version> </dependency>
1、这里配一个JWT的令牌
2、相关阐意,下面代表12个小时
3、生成密钥,接收token
4、如果有需要其他的资料可以参考文章:
5、JWT-util工具类:
package com.itheima.utils; import com.auth0.jwt.JWT; import com.auth0.jwt.algorithms.Algorithm; import java.util.Date; import java.util.Map; public class JwtUtil { private static final String KEY = "itheima"; //接收业务数据,生成token并返回 public static String genToken(Map<String, Object> claims) { return JWT.create() .withClaim("claims", claims) .withExpiresAt(new Date(System.currentTimeMillis() + 1000 * 60 * 60 )) .sign(Algorithm.HMAC256(KEY)); } //接收token,验证token,并返回业务数据 public static Map<String, Object> parseToken(String token) { return JWT.require(Algorithm.HMAC256(KEY)) .build() .verify(token) .getClaim("claims") .asMap(); } }