diff options
author | zeripath <art27@cantab.net> | 2021-11-20 15:33:18 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-20 23:33:18 +0800 |
commit | f8ec43dbc7ca10e456ddf0cf739d2f5035dea879 (patch) | |
tree | 029cfc4033b421993bf433b0c34afba4f885587d | |
parent | 931d0cf854afc06a4d3d3dc3277d2f383efd3423 (diff) | |
download | gitea-f8ec43dbc7ca10e456ddf0cf739d2f5035dea879.tar.gz gitea-f8ec43dbc7ca10e456ddf0cf739d2f5035dea879.zip |
Extract constant names out for the ReverseProxy and Basic authentication methods (#17735)
In order to reduce load on the GC extract out the constant names of the Basic and ReverseProxy methods.
As mentioned in https://github.com/go-gitea/gitea/pull/15119#discussion_r730352176
Signed-off-by: Andrew Thornton <art27@cantab.net>
-rw-r--r-- | modules/context/api.go | 2 | ||||
-rw-r--r-- | modules/context/context.go | 2 | ||||
-rw-r--r-- | routers/api/v1/api.go | 2 | ||||
-rw-r--r-- | services/auth/basic.go | 5 | ||||
-rw-r--r-- | services/auth/reverseproxy.go | 5 |
5 files changed, 11 insertions, 5 deletions
diff --git a/modules/context/api.go b/modules/context/api.go index c978835af8..07ceeeea15 100644 --- a/modules/context/api.go +++ b/modules/context/api.go @@ -245,7 +245,7 @@ func APIAuth(authMethod auth.Method) func(*APIContext) { // Get user from session if logged in. ctx.User = authMethod.Verify(ctx.Req, ctx.Resp, ctx, ctx.Session) if ctx.User != nil { - ctx.IsBasicAuth = ctx.Data["AuthedMethod"].(string) == new(auth.Basic).Name() + ctx.IsBasicAuth = ctx.Data["AuthedMethod"].(string) == auth.BasicMethodName ctx.IsSigned = true ctx.Data["IsSigned"] = ctx.IsSigned ctx.Data["SignedUser"] = ctx.User diff --git a/modules/context/context.go b/modules/context/context.go index 8adf1f306b..1ea53c7d3b 100644 --- a/modules/context/context.go +++ b/modules/context/context.go @@ -614,7 +614,7 @@ func Auth(authMethod auth.Method) func(*Context) { return func(ctx *Context) { ctx.User = authMethod.Verify(ctx.Req, ctx.Resp, ctx, ctx.Session) if ctx.User != nil { - ctx.IsBasicAuth = ctx.Data["AuthedMethod"].(string) == new(auth.Basic).Name() + ctx.IsBasicAuth = ctx.Data["AuthedMethod"].(string) == auth.BasicMethodName ctx.IsSigned = true ctx.Data["IsSigned"] = ctx.IsSigned ctx.Data["SignedUser"] = ctx.User diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index 67f88cf000..099559caad 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -217,7 +217,7 @@ func reqExploreSignIn() func(ctx *context.APIContext) { func reqBasicOrRevProxyAuth() func(ctx *context.APIContext) { return func(ctx *context.APIContext) { - if ctx.IsSigned && setting.Service.EnableReverseProxyAuth && ctx.Data["AuthedMethod"].(string) == new(auth.ReverseProxy).Name() { + if ctx.IsSigned && setting.Service.EnableReverseProxyAuth && ctx.Data["AuthedMethod"].(string) == auth.ReverseProxyMethodName { return } if !ctx.Context.IsBasicAuth { diff --git a/services/auth/basic.go b/services/auth/basic.go index d7f889cbdc..9cfbd0f644 100644 --- a/services/auth/basic.go +++ b/services/auth/basic.go @@ -23,6 +23,9 @@ var ( _ Named = &Basic{} ) +// BasicMethodName is the constant name of the basic authentication method +const BasicMethodName = "basic" + // Basic implements the Auth interface and authenticates requests (API requests // only) by looking for Basic authentication data or "x-oauth-basic" token in the "Authorization" // header. @@ -31,7 +34,7 @@ type Basic struct { // Name represents the name of auth method func (b *Basic) Name() string { - return "basic" + return BasicMethodName } // Verify extracts and validates Basic data (username and password/token) from the diff --git a/services/auth/reverseproxy.go b/services/auth/reverseproxy.go index 550fcabc1d..7cd24c302d 100644 --- a/services/auth/reverseproxy.go +++ b/services/auth/reverseproxy.go @@ -24,6 +24,9 @@ var ( _ Named = &ReverseProxy{} ) +// ReverseProxyMethodName is the constant name of the ReverseProxy authentication method +const ReverseProxyMethodName = "reverse_proxy" + // ReverseProxy implements the Auth interface, but actually relies on // a reverse proxy for authentication of users. // On successful authentication the proxy is expected to populate the username in the @@ -43,7 +46,7 @@ func (r *ReverseProxy) getUserName(req *http.Request) string { // Name represents the name of auth method func (r *ReverseProxy) Name() string { - return "reverse_proxy" + return ReverseProxyMethodName } // Verify extracts the username from the "setting.ReverseProxyAuthUser" header |