Files
nixcn-cms/middleware/jwt.go
Asai Neko ae93f49691
All checks were successful
Build Backend (NixCN CMS) TeamCity build finished
Build Frontend (NixCN CMS) TeamCity build finished
Fix jwt middleware cnext
Signed-off-by: Asai Neko <sugar@sne.moe>
2026-01-02 13:52:04 +08:00

30 lines
506 B
Go

package middleware
import (
"nixcn-cms/internal/cryptography"
"github.com/gin-gonic/gin"
)
func JWTAuth(required bool) gin.HandlerFunc {
return func(c *gin.Context) {
auth := c.GetHeader("Authorization")
token := new(cryptography.Token)
uid, err := token.HeaderVerify(auth)
if err != nil {
c.JSON(401, gin.H{"status": err.Error()})
return
}
if required == true && uid == "" {
c.JSON(401, gin.H{"status": "unauthorized"})
return
}
c.Set("user_id", uid)
c.Next()
}
}