From ec2d489d15580ba934f34d8cdf3d779e1d64374d Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Thu, 25 Apr 2019 18:42:50 -0400 Subject: OAuth2 token can be used in basic auth (#6747) --- routers/repo/http.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'routers/repo/http.go') diff --git a/routers/repo/http.go b/routers/repo/http.go index 2bc50efd83..fccecfb71d 100644 --- a/routers/repo/http.go +++ b/routers/repo/http.go @@ -1,4 +1,5 @@ // Copyright 2014 The Gogs Authors. All rights reserved. +// Copyright 2019 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. @@ -18,6 +19,7 @@ import ( "time" "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/auth" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/log" @@ -166,6 +168,16 @@ func HTTP(ctx *context.Context) { // Assume password is token authToken = authPasswd } + uid := auth.CheckOAuthAccessToken(authToken) + if uid != 0 { + ctx.Data["IsApiToken"] = true + + authUser, err = models.GetUserByID(uid) + if err != nil { + ctx.ServerError("GetUserByID", err) + return + } + } // Assume password is a token. token, err := models.GetAccessTokenBySHA(authToken) if err == nil { -- cgit v1.2.3