Browse Source

Remove `Named` interface (#26913)

`Named` is implemented by every `Method` and future implementations
should implement the method too.
tags/v1.21.0-rc0
KN4CK3R 9 months ago
parent
commit
0eebeeec90
No account linked to committer's email address

+ 2
- 0
routers/api/packages/chef/auth.go View File

@@ -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:

+ 2
- 0
routers/api/packages/conan/auth.go View File

@@ -12,6 +12,8 @@ import (
"code.gitea.io/gitea/services/packages"
)

var _ auth.Method = &Auth{}

type Auth struct{}

func (a *Auth) Name() string {

+ 2
- 0
routers/api/packages/container/auth.go View File

@@ -12,6 +12,8 @@ import (
"code.gitea.io/gitea/services/packages"
)

var _ auth.Method = &Auth{}

type Auth struct{}

func (a *Auth) Name() string {

+ 2
- 0
routers/api/packages/nuget/auth.go View File

@@ -13,6 +13,8 @@ import (
"code.gitea.io/gitea/services/auth"
)

var _ auth.Method = &Auth{}

type Auth struct{}

func (a *Auth) Name() string {

+ 0
- 1
services/auth/basic.go View File

@@ -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

+ 4
- 12
services/auth/group.go View File

@@ -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
}

+ 0
- 1
services/auth/httpsign.go View File

@@ -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

+ 0
- 3
services/auth/interface.go View File

@@ -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
}


+ 0
- 1
services/auth/oauth2.go View File

@@ -22,7 +22,6 @@ import (
// Ensure the struct implements the interface.
var (
_ Method = &OAuth2{}
_ Named = &OAuth2{}
)

// CheckOAuthAccessToken returns uid of user from oauth token

+ 0
- 1
services/auth/reverseproxy.go View File

@@ -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

+ 0
- 1
services/auth/session.go View File

@@ -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

+ 0
- 1
services/auth/sspi_windows.go View File

@@ -37,7 +37,6 @@ var (

// Ensure the struct implements the interface.
_ Method = &SSPI{}
_ Named = &SSPI{}
)

// SSPI implements the SingleSignOn interface and authenticates requests

Loading…
Cancel
Save