| 12345678910111213141516171819202122232425262728 |
- package middlewares
- import (
- "github.com/gin-gonic/gin"
- "github.com/runningwater/gohub/pkg/jwt"
- "github.com/runningwater/gohub/pkg/response"
- )
- // GuestJWT 强制使用游客身份认证中间件
- func GuestJWT() gin.HandlerFunc {
- return func(c *gin.Context) {
- // 检查请求头中是否包含 Authorization 字段
- authHeader := c.GetHeader("Authorization")
- if len(authHeader) > 0 {
- // 如果存在 Authorization 字段,验证 JWT
- _, err := jwt.NewJWT().ParseToken(c)
- if err == nil {
- // 如果 JWT 验证通过,返回 403 错误
- response.Unauthorized(c, "请使用游客身份认证")
- c.Abort()
- return
- }
- }
- // 调用下一个中间件或处理函数
- c.Next()
- }
- }
|