From f3a56c77f3f164b005a3e975b95c9383eb364c92 Mon Sep 17 00:00:00 2001 From: pjhmizn49 Date: Fri, 13 Dec 2024 14:41:48 +0800 Subject: [PATCH] ADD file via upload --- .../java/com/example/flower/unit/JWTUtil.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 flower_back/src/main/java/com/example/flower/unit/JWTUtil.java diff --git a/flower_back/src/main/java/com/example/flower/unit/JWTUtil.java b/flower_back/src/main/java/com/example/flower/unit/JWTUtil.java new file mode 100644 index 0000000..12d2f52 --- /dev/null +++ b/flower_back/src/main/java/com/example/flower/unit/JWTUtil.java @@ -0,0 +1,57 @@ +package com.example.flower.unit; + +import com.alibaba.fastjson.JSONObject; +import com.auth0.jwt.JWT; +import io.jsonwebtoken.*; + +import java.util.Date; +import java.util.UUID; + +public class JWTUtil { + private static long time = 1000*60*60*24; + private static String signature = "flower"; + //创建token(示例) + public static String createToken(int id,int role){ + JwtBuilder jwtBuilder = Jwts.builder(); + String jwtToken = jwtBuilder + //header + .setHeaderParam("typ","JWT") + .setHeaderParam("alg","HS256") + //payload + .claim("id",id) + .claim("role",role) + .setSubject("admin-test") + .setExpiration(new Date(System.currentTimeMillis()+time)) + .setId(UUID.randomUUID().toString()) + //signature + .signWith(SignatureAlgorithm.HS256,signature) + .compact(); + return jwtToken; + } + + //检查token是否有效 + public static boolean checkToken(String token){ + if(token == null){ + return false; + } + try { + Jwts.parser().setSigningKey(signature).parseClaimsJws(token); + }catch (ExpiredJwtException e){ + return false; + } + return true; + } + + //token认证失败 + public static void checkTokenFailed(JSONObject jsonObject){ + jsonObject.put("code",401 ); + jsonObject.put("msg","token认证异常!" ); + jsonObject.put("data",null ); + } + + //解析token,获取body信息 + public static Claims getBodyByToken(String token){ + Jws claimsJws = Jwts.parser().setSigningKey(signature).parseClaimsJws(token); + return claimsJws.getBody(); + } +}