diff --git a/middleware/auth.go b/middleware/auth.go index bf09753a..f652f058 100644 --- a/middleware/auth.go +++ b/middleware/auth.go @@ -85,6 +85,8 @@ func RootAuth() func(c *gin.Context) { func TokenAuth() func(c *gin.Context) { return func(c *gin.Context) { key := c.Request.Header.Get("Authorization") + key = strings.TrimPrefix(key, "Bearer ") + key = strings.TrimPrefix(key, "sk-") parts := strings.Split(key, "-") key = parts[0] token, err := model.ValidateUserToken(key) diff --git a/model/token.go b/model/token.go index ada67255..ef2d914b 100644 --- a/model/token.go +++ b/model/token.go @@ -6,7 +6,6 @@ import ( _ "gorm.io/driver/sqlite" "gorm.io/gorm" "one-api/common" - "strings" ) type Token struct { @@ -38,7 +37,6 @@ func ValidateUserToken(key string) (token *Token, err error) { if key == "" { return nil, errors.New("未提供 token") } - key = strings.Replace(key, "Bearer ", "", 1) token = &Token{} err = DB.Where("`key` = ?", key).First(token).Error if err == nil {