From 7c811247ecf143e08c576986a884bedadc57dd66 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期五, 05 六月 2020 18:29:41 +0800
Subject: [PATCH] add refresh token to resp

---
 middlewares/auth/auth.go |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/middlewares/auth/auth.go b/middlewares/auth/auth.go
index 61e40ca..d0255fc 100644
--- a/middlewares/auth/auth.go
+++ b/middlewares/auth/auth.go
@@ -15,9 +15,10 @@
 
 type Auth interface {
 	Check(c *gin.Context)bool
-	User(c *gin.Context)interface{}
-	Login(http *http.Request,w http.ResponseWriter,user map[string]interface{})interface{}
+	User(c *gin.Context)map[string]interface{}
+	Login(http *http.Request,w http.ResponseWriter,user map[string]interface{}) (bool, string, string)
 	Logout(http *http.Request,w http.ResponseWriter) bool
+	RefreshToken(tokenStr string) (bool, string, string)
 }
 
 func GenerateAuthDriver() *Auth {
@@ -56,18 +57,24 @@
 	return func(c *gin.Context) {
 		urlPath := c.Request.URL.Path
 
-		if strings.Contains(urlPath,"/data/api-v") && !strings.Contains(urlPath,"login"){
+		if strings.Contains(urlPath,"/data/api-") && !strings.Contains(urlPath,"login") && !strings.Contains(urlPath, "/data/api-v/license") && !strings.Contains(urlPath, "/data/api-v/info/"){
 			jwtDriver :=NewJwtAuthDriver()
 			if !jwtDriver.Check(c) {
 				util.ResponseFormat(c,code.TokenNotFound,"灏氭湭鐧诲綍锛岃鐧诲綍")
 				c.Abort()
+				return
 			}
-			user := (*jwtDriver).User(c)
-			loginM := user.(map[string]interface{})
-			userId := loginM["id"].(string)
+			userM := (*jwtDriver).User(c)
+			if userM == nil {
+				util.ResponseFormat(c,code.TokenNotFound,"灏氭湭鐧诲綍锛岃鐧诲綍")
+				c.Abort()
+				return
+			}
+			userId := userM["id"].(string)
 			if OutUser(userId) {
 				util.ResponseFormat(c,code.TokenNotFound,"灏氭湭鐧诲綍锛岃鐧诲綍")
 				c.Abort()
+				return
 			}
 			c.Next()
 		} else {
@@ -77,5 +84,5 @@
 }
 
 func GetCurUser(c *gin.Context)map[string]interface{}{
-	return (*GenerateAuthDriver()).User(c).(map[string]interface{})
-}
\ No newline at end of file
+	return (*GenerateAuthDriver()).User(c)
+}

--
Gitblit v1.8.0