maven使用JWTUtils工具类

it2024-04-22  65

导入依赖

<dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.4.0</version> </dependency>

创建utils包

package com.yao.jwtdemo.utils; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTCreator; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; import java.util.Calendar; import java.util.Map; public class JwtUtils { //签名随意写,但复杂性越高,安全性越高 public static final String SING = "@32sada$R"; /** * 生成token */ public static String getToken(Map<String,String> map){ Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE,7); //创建JWT builder JWTCreator.Builder builder = JWT.create(); //payload map.forEach((k,v)->{ builder.withClaim(k,v); }); //指定令牌的过期时间 String token = builder.withExpiresAt(instance.getTime()) .sign(Algorithm.HMAC256(SING));//签名 // System.out.println(token); return token; } /** * 验证token合法性 */ public static DecodedJWT verifier(String token){ return JWT.require(Algorithm.HMAC256(SING)).build().verify(token); } /** * 获取token信息 */ public static DecodedJWT getTokenInfo(String token){ DecodedJWT verify = JWT.require(Algorithm.HMAC256(SING)).build().verify(token); return verify; } }
最新回复(0)