From c0f8f8d3a74dbdab4f6ab4926fc664d818fb50f2 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期四, 25 四月 2024 16:59:22 +0800
Subject: [PATCH] 获取供应商产品
---
middleware/jwt.go | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/middleware/jwt.go b/middleware/jwt.go
new file mode 100644
index 0000000..42ce6e0
--- /dev/null
+++ b/middleware/jwt.go
@@ -0,0 +1,39 @@
+package middleware
+
+import (
+ "github.com/gin-gonic/gin"
+ "srm/pkg/contextx"
+ "srm/pkg/ecode"
+ "strings"
+)
+
+func JWTAuth() gin.HandlerFunc {
+ return func(c *gin.Context) {
+ ctx := new(contextx.Context).SetCtx(c)
+ // 鎴戜滑杩欓噷jwt閴存潈鍙栧ご閮ㄤ俊鎭� Authorization 鐧诲綍鏃跺洖杩斿洖token淇℃伅 杩欓噷鍓嶇闇�瑕佹妸token瀛樺偍鍒癱ookie鎴栬�呮湰鍦發ocalStorage涓� 涓嶈繃闇�瑕佽窡鍚庣鍗忓晢杩囨湡鏃堕棿 鍙互绾﹀畾鍒锋柊浠ょ墝鎴栬�呴噸鏂扮櫥褰�
+ token := c.Request.Header.Get("Authorization")
+ if token == "" {
+ ctx.Fail(ecode.JWTEmpty)
+ c.Abort()
+ return
+ }
+ slices := strings.Split(token, " ")
+ if len(slices) == 2 {
+ token = slices[1]
+ }
+ j := NewJWT()
+ // parseToken 瑙f瀽token鍖呭惈鐨勪俊鎭�
+ claims, err := j.ParseToken(token)
+ if err != nil {
+ if err == TokenExpired {
+ c.Next()
+ return
+ }
+ c.Next()
+ return
+ }
+
+ c.Set("claims", claims)
+ c.Next()
+ }
+}
--
Gitblit v1.8.0