gitee.com/woood2/luca@v1.0.4/cmd/backend/internal/middleware/auth.go (about) 1 package middleware 2 3 import ( 4 "github.com/gin-gonic/gin" 5 ) 6 7 const ( 8 GinCtxKeyUid = "currently-logged-in-uid" 9 GinCtxKeyUname = "currently-logged-in-uname" 10 ) 11 12 type Header struct { 13 Token string `header:"token" binding:"required"` 14 } 15 16 func Auth() gin.HandlerFunc { 17 return func(c *gin.Context) { 18 h := Header{} 19 if err := c.ShouldBindHeader(&h); err != nil { 20 c.Abort() 21 c.String(401, "unauthorized") 22 return 23 } 24 //wanda-SDK:签名校验逻辑 25 //secretKey不必区分app,设计允许一个用户跨多app 26 //共享二级域名的app,可直接复用jwt。否则需要重新OAuth2 27 c.Set(GinCtxKeyUid, 911) 28 c.Set(GinCtxKeyUname, "燕双鹰") 29 c.Next() 30 } 31 }