code.gitea.io/gitea@v1.21.7/routers/api/packages/conan/auth.go (about) 1 // Copyright 2022 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package conan 5 6 import ( 7 "net/http" 8 9 user_model "code.gitea.io/gitea/models/user" 10 "code.gitea.io/gitea/modules/log" 11 "code.gitea.io/gitea/services/auth" 12 "code.gitea.io/gitea/services/packages" 13 ) 14 15 var _ auth.Method = &Auth{} 16 17 type Auth struct{} 18 19 func (a *Auth) Name() string { 20 return "conan" 21 } 22 23 // Verify extracts the user from the Bearer token 24 func (a *Auth) Verify(req *http.Request, w http.ResponseWriter, store auth.DataStore, sess auth.SessionStore) (*user_model.User, error) { 25 uid, err := packages.ParseAuthorizationToken(req) 26 if err != nil { 27 log.Trace("ParseAuthorizationToken: %v", err) 28 return nil, err 29 } 30 31 if uid == 0 { 32 return nil, nil 33 } 34 35 u, err := user_model.GetUserByID(req.Context(), uid) 36 if err != nil { 37 log.Error("GetUserByID: %v", err) 38 return nil, err 39 } 40 41 return u, nil 42 }