diff --git a/security/security.go b/security/security.go index dda0f61..38d5c7c 100644 --- a/security/security.go +++ b/security/security.go @@ -14,7 +14,11 @@ import ( // ! 仅通过该中间件是不能保证上下文中一定保存有用户会话信息的。 func SessionRecovery(c *fiber.Ctx) error { if auth := c.Get("Authorization", ""); len(auth) > 0 { - token := strings.Fields(auth)[1] + authFields := strings.Fields(auth) + if len(authFields) != 2 || strings.ToLower(authFields[0]) != "bearer" || len(authFields[1]) == 0 { + return c.Next() + } + token := authFields[1] session, err := cache.RetrieveSession(token) if err == nil && session != nil {