Files
cms-server/middleware/jwt.go
2026-01-21 13:48:37 +08:00

35 lines
721 B
Go

package middleware
import (
"nixcn-cms/internal/exception"
"nixcn-cms/pkgs/authtoken"
"nixcn-cms/utils"
"github.com/gin-gonic/gin"
)
func JWTAuth() gin.HandlerFunc {
return func(c *gin.Context) {
auth := c.GetHeader("Authorization")
authtoken := new(authtoken.Token)
uid, err := authtoken.HeaderVerify(auth)
if err != nil {
errorCode := new(exception.Builder).
SetStatus(exception.ErrorStatusServer).
SetService(exception.MiddlewareJwtService).
SetEndpoint(exception.MiddlewareEndpoint).
SetType(exception.ErrorTypeSpecific).
SetOriginal(exception.CommonErrorUnauthorized).
Build()
utils.HttpAbort(c, 401, errorCode)
return
}
c.Set("user_id", uid)
c.Next()
}
}