mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-23 12:59:11 -05:00
Fix bug of get context user (#17169)
Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
parent
a82c799fc8
commit
37b29319aa
2 changed files with 12 additions and 10 deletions
|
@ -547,6 +547,17 @@ func GetContext(req *http.Request) *Context {
|
||||||
return req.Context().Value(contextKey).(*Context)
|
return req.Context().Value(contextKey).(*Context)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetContextUser returns context user
|
||||||
|
func GetContextUser(req *http.Request) *models.User {
|
||||||
|
if apiContext, ok := req.Context().Value(apiContextKey).(*APIContext); ok {
|
||||||
|
return apiContext.User
|
||||||
|
}
|
||||||
|
if ctx, ok := req.Context().Value(contextKey).(*Context); ok {
|
||||||
|
return ctx.User
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// SignedUserName returns signed user's name via context
|
// SignedUserName returns signed user's name via context
|
||||||
func SignedUserName(req *http.Request) string {
|
func SignedUserName(req *http.Request) string {
|
||||||
if middleware.IsInternalPath(req) {
|
if middleware.IsInternalPath(req) {
|
||||||
|
|
|
@ -14,7 +14,6 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models"
|
|
||||||
"code.gitea.io/gitea/modules/context"
|
"code.gitea.io/gitea/modules/context"
|
||||||
"code.gitea.io/gitea/modules/httpcache"
|
"code.gitea.io/gitea/modules/httpcache"
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
|
@ -147,15 +146,7 @@ func Recovery() func(next http.Handler) http.Handler {
|
||||||
"i18n": lc,
|
"i18n": lc,
|
||||||
}
|
}
|
||||||
|
|
||||||
var user *models.User
|
var user = context.GetContextUser(req)
|
||||||
if apiContext := context.GetAPIContext(req); apiContext != nil {
|
|
||||||
user = apiContext.User
|
|
||||||
}
|
|
||||||
if user == nil {
|
|
||||||
if ctx := context.GetContext(req); ctx != nil {
|
|
||||||
user = ctx.User
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if user == nil {
|
if user == nil {
|
||||||
// Get user from session if logged in - do not attempt to sign-in
|
// Get user from session if logged in - do not attempt to sign-in
|
||||||
user = auth.SessionUser(sessionStore)
|
user = auth.SessionUser(sessionStore)
|
||||||
|
|
Loading…
Reference in a new issue