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