This commit is contained in:
oneao committed 2025-08-13 14:51:19 +08:00
1 parent ed8bee3d77
commit 7552670e4a
23 files changed
+380 -154

No files matched your search

@@ -3,18 +3,20 @@ package middleware
import (
"base-framework/pkg/config"
"base-framework/pkg/router"
"base-framework/pkg/utils"
"base-framework/pkg/utils/jwt"
"base-framework/pkg/utils/response"
"errors"
"fmt"
"log"
"strings"
)
func Auth() router.HandlerFunc {
return func(c *router.Context) {
log.Println("[Auth] 开始鉴权")
tokenHeader := c.Header("Authorization")
userIdHeader := c.Header("user_id")
orgIDHeader := c.Header("org_id")
userIdHeader := c.Header("userId")
orgIDHeader := c.Header("orgId")
// 缺少登录信息
if tokenHeader == "" || userIdHeader == "" || orgIDHeader == "" {
@@ -24,17 +26,17 @@ func Auth() router.HandlerFunc {
// Bearer token 格式校验
parts := strings.Fields(tokenHeader)
if len(parts) != 2 || strings.ToLower(parts[0]) != "Bearer" {
if len(parts) != 2 || strings.ToLower(parts[0]) != "bearer" {
response.Error(c).Code(response.CodeInvalidToken).Send()
return
}
// 解析 token
tokenStr := parts[1]
claims, err := utils.VerifyToken(tokenStr)
claims, err := jwt.VerifyToken(tokenStr)
if err != nil {
switch {
case errors.Is(err, utils.ErrTokenExpired):
case errors.Is(err, jwt.ErrTokenExpired):
response.Error(c).Code(response.CodeLoginExpired).Send()
default:
response.Error(c).Code(response.CodeInvalidToken).Send()
@@ -54,10 +56,18 @@ func Auth() router.HandlerFunc {
return
}
configs := config.GetDBConfigs()
// 检查是否有该机构号
hasOrg := false
for k := range config.GetDBConfigs() {
if k == orgIDHeader {
hasOrg = true
break
}
}
for k := range configs {
fmt.Println(k)
if !hasOrg {
response.Error(c).Code(response.CodeInvalidOrgCode).Send()
return
}
c.Next()