From a11bc1bed7953b88213330582c2085f60b5a73b1 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期三, 12 六月 2024 15:01:56 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit --- server/system_gateway/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java | 25 ++++++++++++++++++++----- 1 files changed, 20 insertions(+), 5 deletions(-) diff --git a/server/system_gateway/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java b/server/system_gateway/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java index 460b974..9198e09 100644 --- a/server/system_gateway/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java +++ b/server/system_gateway/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSONObject; import com.doumee.core.model.LoginUserInfo; +import com.doumee.core.utils.Constants; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import org.springframework.beans.factory.annotation.Autowired; @@ -33,7 +34,7 @@ if(payloads == null){ return null; } - payloads.setLoginDate(new Date()); + payloads.setLoginDate(new Date()); Map<String,Object> map = new HashMap<>(); map.put("id",payloads.getId()); // Map<String,Object> map = BeanUtil.beanToMap(payloads); @@ -75,7 +76,8 @@ public Boolean isTokenExpired(String token) { try { LoginUserInfo claims = getClaimsFromToken(token); - Date expiration = claims.getLoginDate(); + Date expiration = //claims.getLoginDate(); + new Date(claims.getLoginDate().getTime() + jwtProperties.getExpiration()); return expiration.before(new Date()); } catch (Exception e) { //楠岃瘉JWT绛惧悕澶辫触绛夊悓浜庝护鐗岃繃鏈� @@ -96,12 +98,25 @@ claims.setLoginDate(new Date()); refreshedToken = generateTokenDo(claims); if(refreshedToken!=null){ - redisTemplate.delete(token);//鍒犻櫎鑰佺殑token + redisTemplate.delete(Constants.REDIS_TOKEN_KEY+token);//鍒犻櫎鑰佺殑token } } catch (Exception e) { refreshedToken = null; } return refreshedToken; + } + /** + * 閫�鍑虹櫥闄� + * + * @param token 鍘熶护鐗� + * @return 鏂颁护鐗� + */ + public void logout(String token) { + try { + redisTemplate.delete(Constants.REDIS_TOKEN_KEY+token);//鍒犻櫎鑰佺殑token + } catch (Exception e) { + e.printStackTrace(); + } } /** @@ -131,7 +146,7 @@ .setExpiration(expirationDate) .signWith(SignatureAlgorithm.HS512, jwtProperties.getSecret()) .compact(); - redisTemplate.opsForValue().set(token,JSONObject.toJSONString(userInfo),jwtProperties.getExpiration(), TimeUnit.MILLISECONDS); + redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+token,JSONObject.toJSONString(userInfo),jwtProperties.getExpiration(), TimeUnit.MILLISECONDS); return token; } @@ -144,7 +159,7 @@ private LoginUserInfo getClaimsFromToken(String token) { LoginUserInfo claims; try { - String userInfo = (String) redisTemplate.opsForValue().get(token); + String userInfo = (String) redisTemplate.opsForValue().get(Constants.REDIS_TOKEN_KEY+token); claims = JSONObject.toJavaObject(JSONObject.parseObject(userInfo),LoginUserInfo.class); } catch (Exception e) { claims = null; -- Gitblit v1.9.3