From 5f00d720ea52ababeb10954da4d33ab6c46e93b7 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期五, 14 七月 2023 17:47:13 +0800
Subject: [PATCH] add

---
 middleware/jwt.go |   41 +++++++++++++++++++++++------------------
 1 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/middleware/jwt.go b/middleware/jwt.go
index d1f97b7..9ca981c 100644
--- a/middleware/jwt.go
+++ b/middleware/jwt.go
@@ -1,12 +1,17 @@
 package middleware
 
 import (
+	"aps_crm/conf"
+	"aps_crm/model"
 	"aps_crm/pkg/contextx"
 	"aps_crm/pkg/ecode"
+	"aps_crm/pkg/logx"
 	"aps_crm/service"
 	"aps_crm/utils"
 	"github.com/gin-gonic/gin"
+	"strconv"
 	"strings"
+	"time"
 )
 
 var jwtService = service.ServiceGroup.JwtService
@@ -52,24 +57,24 @@
 		//	response.FailWithDetailed(gin.H{"reload": true}, err.Error(), c)
 		//	c.Abort()
 		//}
-		//if claims.ExpiresAt-time.Now().Unix() < claims.BufferTime {
-		//	dr, _ := utils.ParseDuration(conf.Conf.JWT.ExpiresTime)
-		//	claims.ExpiresAt = time.Now().Add(dr).Unix()
-		//	newToken, _ := j.CreateTokenByOldToken(token, *claims)
-		//	newClaims, _ := j.ParseToken(newToken)
-		//	c.Header("new-token", newToken)
-		//	c.Header("new-expires-at", strconv.FormatInt(newClaims.ExpiresAt, 10))
-		//	if conf.Conf.System.UseMultipoint {
-		//		RedisJwtToken, err := jwtService.GetRedisJWT(newClaims.Username)
-		//		if err != nil {
-		//			logx.Errorf("get redis jwt failed err:%v", err)
-		//		} else { // 褰撲箣鍓嶇殑鍙栨垚鍔熸椂鎵嶈繘琛屾媺榛戞搷浣�
-		//			_ = jwtService.JsonInBlacklist(model.JwtBlacklist{Jwt: RedisJwtToken})
-		//		}
-		//		// 鏃犺濡備綍閮借璁板綍褰撳墠鐨勬椿璺冪姸鎬�
-		//		_ = jwtService.SetRedisJWT(newToken, newClaims.Username)
-		//	}
-		//}
+		if claims.ExpiresAt-time.Now().Unix() < claims.BufferTime {
+			dr, _ := utils.ParseDuration(conf.Conf.JWT.ExpiresTime)
+			claims.ExpiresAt = time.Now().Add(dr).Unix()
+			newToken, _ := j.CreateTokenByOldToken(token, *claims)
+			newClaims, _ := j.ParseToken(newToken)
+			c.Header("new-token", newToken)
+			c.Header("new-expires-at", strconv.FormatInt(newClaims.ExpiresAt, 10))
+			if conf.Conf.System.UseMultipoint {
+				RedisJwtToken, err := jwtService.GetRedisJWT(newClaims.Username)
+				if err != nil {
+					logx.Errorf("get redis jwt failed err:%v", err)
+				} else { // 褰撲箣鍓嶇殑鍙栨垚鍔熸椂鎵嶈繘琛屾媺榛戞搷浣�
+					_ = jwtService.JsonInBlacklist(model.JwtBlacklist{Jwt: RedisJwtToken})
+				}
+				// 鏃犺濡備綍閮借璁板綍褰撳墠鐨勬椿璺冪姸鎬�
+				_ = jwtService.SetRedisJWT(newToken, newClaims.Username)
+			}
+		}
 		c.Set("claims", claims)
 		c.Next()
 	}

--
Gitblit v1.8.0