aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2023-09-05 17:58:30 +0200
committerGitHub <noreply@github.com>2023-09-05 15:58:30 +0000
commit0eebeeec9045c759d005ab0ba87f3275da7c627d (patch)
treea8ca74d22821ff8002781cf9d5c21ebaa0001010
parenta99b96cbcd10e4cad3194c142a0fffe371959455 (diff)
downloadgitea-0eebeeec9045c759d005ab0ba87f3275da7c627d.tar.gz
gitea-0eebeeec9045c759d005ab0ba87f3275da7c627d.zip
Remove `Named` interface (#26913)
`Named` is implemented by every `Method` and future implementations should implement the method too.
-rw-r--r--routers/api/packages/chef/auth.go2
-rw-r--r--routers/api/packages/conan/auth.go2
-rw-r--r--routers/api/packages/container/auth.go2
-rw-r--r--routers/api/packages/nuget/auth.go2
-rw-r--r--services/auth/basic.go1
-rw-r--r--services/auth/group.go16
-rw-r--r--services/auth/httpsign.go1
-rw-r--r--services/auth/interface.go3
-rw-r--r--services/auth/oauth2.go1
-rw-r--r--services/auth/reverseproxy.go1
-rw-r--r--services/auth/session.go1
-rw-r--r--services/auth/sspi_windows.go1
12 files changed, 12 insertions, 21 deletions
diff --git a/routers/api/packages/chef/auth.go b/routers/api/packages/chef/auth.go
index 1ea453f1f4..d895640894 100644
--- a/routers/api/packages/chef/auth.go
+++ b/routers/api/packages/chef/auth.go
@@ -36,6 +36,8 @@ var (
algorithmPattern = regexp.MustCompile(`algorithm=(\w+)`)
versionPattern = regexp.MustCompile(`version=(\d+\.\d+)`)
authorizationPattern = regexp.MustCompile(`\AX-Ops-Authorization-(\d+)`)
+
+ _ auth.Method = &Auth{}
)
// Documentation:
diff --git a/routers/api/packages/conan/auth.go b/routers/api/packages/conan/auth.go
index ca02d61e76..521fa12372 100644
--- a/routers/api/packages/conan/auth.go
+++ b/routers/api/packages/conan/auth.go
@@ -12,6 +12,8 @@ import (
"code.gitea.io/gitea/services/packages"
)
+var _ auth.Method = &Auth{}
+
type Auth struct{}
func (a *Auth) Name() string {
diff --git a/routers/api/packages/container/auth.go b/routers/api/packages/container/auth.go
index 6fb32c389d..1c7afa95ff 100644
--- a/routers/api/packages/container/auth.go
+++ b/routers/api/packages/container/auth.go
@@ -12,6 +12,8 @@ import (
"code.gitea.io/gitea/services/packages"
)
+var _ auth.Method = &Auth{}
+
type Auth struct{}
func (a *Auth) Name() string {
diff --git a/routers/api/packages/nuget/auth.go b/routers/api/packages/nuget/auth.go
index 54b33d89c0..60b81b8d4b 100644
--- a/routers/api/packages/nuget/auth.go
+++ b/routers/api/packages/nuget/auth.go
@@ -13,6 +13,8 @@ import (
"code.gitea.io/gitea/services/auth"
)
+var _ auth.Method = &Auth{}
+
type Auth struct{}
func (a *Auth) Name() string {
diff --git a/services/auth/basic.go b/services/auth/basic.go
index 36480568ff..ea8df3d0ea 100644
--- a/services/auth/basic.go
+++ b/services/auth/basic.go
@@ -21,7 +21,6 @@ import (
// Ensure the struct implements the interface.
var (
_ Method = &Basic{}
- _ Named = &Basic{}
)
// BasicMethodName is the constant name of the basic authentication method
diff --git a/services/auth/group.go b/services/auth/group.go
index 7193dfcf49..aecf43cb24 100644
--- a/services/auth/group.go
+++ b/services/auth/group.go
@@ -5,7 +5,6 @@ package auth
import (
"net/http"
- "reflect"
"strings"
user_model "code.gitea.io/gitea/models/user"
@@ -37,21 +36,16 @@ func (b *Group) Add(method Method) {
func (b *Group) Name() string {
names := make([]string, 0, len(b.methods))
for _, m := range b.methods {
- if n, ok := m.(Named); ok {
- names = append(names, n.Name())
- } else {
- names = append(names, reflect.TypeOf(m).Elem().Name())
- }
+ names = append(names, m.Name())
}
return strings.Join(names, ",")
}
-// Verify extracts and validates
func (b *Group) Verify(req *http.Request, w http.ResponseWriter, store DataStore, sess SessionStore) (*user_model.User, error) {
// Try to sign in with each of the enabled plugins
var retErr error
- for _, ssoMethod := range b.methods {
- user, err := ssoMethod.Verify(req, w, store, sess)
+ for _, m := range b.methods {
+ user, err := m.Verify(req, w, store, sess)
if err != nil {
if retErr == nil {
retErr = err
@@ -67,9 +61,7 @@ func (b *Group) Verify(req *http.Request, w http.ResponseWriter, store DataStore
// Return the user and ignore any error returned by previous methods.
if user != nil {
if store.GetData()["AuthedMethod"] == nil {
- if named, ok := ssoMethod.(Named); ok {
- store.GetData()["AuthedMethod"] = named.Name()
- }
+ store.GetData()["AuthedMethod"] = m.Name()
}
return user, nil
}
diff --git a/services/auth/httpsign.go b/services/auth/httpsign.go
index 4d52315381..d6a64c6fc4 100644
--- a/services/auth/httpsign.go
+++ b/services/auth/httpsign.go
@@ -23,7 +23,6 @@ import (
// Ensure the struct implements the interface.
var (
_ Method = &HTTPSign{}
- _ Named = &HTTPSign{}
)
// HTTPSign implements the Auth interface and authenticates requests (API requests
diff --git a/services/auth/interface.go b/services/auth/interface.go
index 508291fa43..dc91747a46 100644
--- a/services/auth/interface.go
+++ b/services/auth/interface.go
@@ -27,10 +27,7 @@ type Method interface {
// Second argument returns err if verification fails, otherwise
// First return argument returns nil if no matched verification condition
Verify(http *http.Request, w http.ResponseWriter, store DataStore, sess SessionStore) (*user_model.User, error)
-}
-// Named represents a named thing
-type Named interface {
Name() string
}
diff --git a/services/auth/oauth2.go b/services/auth/oauth2.go
index 0dd7a12d2c..e621b5ffad 100644
--- a/services/auth/oauth2.go
+++ b/services/auth/oauth2.go
@@ -22,7 +22,6 @@ import (
// Ensure the struct implements the interface.
var (
_ Method = &OAuth2{}
- _ Named = &OAuth2{}
)
// CheckOAuthAccessToken returns uid of user from oauth token
diff --git a/services/auth/reverseproxy.go b/services/auth/reverseproxy.go
index 3574e660b8..62e60ccdc1 100644
--- a/services/auth/reverseproxy.go
+++ b/services/auth/reverseproxy.go
@@ -20,7 +20,6 @@ import (
// Ensure the struct implements the interface.
var (
_ Method = &ReverseProxy{}
- _ Named = &ReverseProxy{}
)
// ReverseProxyMethodName is the constant name of the ReverseProxy authentication method
diff --git a/services/auth/session.go b/services/auth/session.go
index c751135738..52cfb8ac21 100644
--- a/services/auth/session.go
+++ b/services/auth/session.go
@@ -14,7 +14,6 @@ import (
// Ensure the struct implements the interface.
var (
_ Method = &Session{}
- _ Named = &Session{}
)
// Session checks if there is a user uid stored in the session and returns the user
diff --git a/services/auth/sspi_windows.go b/services/auth/sspi_windows.go
index eabfd5fa41..a4880c7334 100644
--- a/services/auth/sspi_windows.go
+++ b/services/auth/sspi_windows.go
@@ -37,7 +37,6 @@ var (
// Ensure the struct implements the interface.
_ Method = &SSPI{}
- _ Named = &SSPI{}
)
// SSPI implements the SingleSignOn interface and authenticates requests