apiserver: k8s.io/apiserver/pkg/authentication/authenticator Index | Files

package authenticator

import "k8s.io/apiserver/pkg/authentication/authenticator"

Index

Package Files

audagnostic.go audiences.go interfaces.go

func WithAudiences Uses

func WithAudiences(ctx context.Context, auds Audiences) context.Context

WithAudiences returns a context that stores a request's expected audiences.

type Audiences Uses

type Audiences []string

Audiences is a container for the Audiences of a token.

func AudiencesFrom Uses

func AudiencesFrom(ctx context.Context) (Audiences, bool)

AudiencesFrom returns a request's expected audiences stored in the request context.

func (Audiences) Has Uses

func (a Audiences) Has(taud string) bool

Has checks if Audiences contains a specific audiences.

func (Audiences) Intersect Uses

func (a Audiences) Intersect(tauds Audiences) Audiences

Intersect intersects Audiences with a target Audiences and returns all elements in both.

type Password Uses

type Password interface {
    AuthenticatePassword(ctx context.Context, user, password string) (*Response, bool, error)
}

Password checks a username and password against a backing authentication store and returns a Response or an error if the password could not be checked.

type PasswordFunc Uses

type PasswordFunc func(ctx context.Context, user, password string) (*Response, bool, error)

PasswordFunc is a function that implements the Password interface.

func (PasswordFunc) AuthenticatePassword Uses

func (f PasswordFunc) AuthenticatePassword(ctx context.Context, user, password string) (*Response, bool, error)

AuthenticatePassword implements authenticator.Password.

type Request Uses

type Request interface {
    AuthenticateRequest(req *http.Request) (*Response, bool, error)
}

Request attempts to extract authentication information from a request and returns a Response or an error if the request could not be checked.

func WrapAudienceAgnosticRequest Uses

func WrapAudienceAgnosticRequest(implicit Audiences, delegate Request) Request

WrapAudienceAgnosticRequest wraps an audience agnostic request authenticator to restrict its accepted audiences to a set of implicit audiences.

type RequestFunc Uses

type RequestFunc func(req *http.Request) (*Response, bool, error)

RequestFunc is a function that implements the Request interface.

func (RequestFunc) AuthenticateRequest Uses

func (f RequestFunc) AuthenticateRequest(req *http.Request) (*Response, bool, error)

AuthenticateRequest implements authenticator.Request.

type Response Uses

type Response struct {
    // Audiences is the set of audiences the authenticator was able to validate
    // the token against. If the authenticator is not audience aware, this field
    // will be empty.
    Audiences Audiences
    // User is the UserInfo associated with the authentication context.
    User user.Info
}

Response is the struct returned by authenticator interfaces upon successful authentication. It contains information about whether the authenticator authenticated the request, information about the context of the authentication, and information about the authenticated user.

type Token Uses

type Token interface {
    AuthenticateToken(ctx context.Context, token string) (*Response, bool, error)
}

Token checks a string value against a backing authentication store and returns a Response or an error if the token could not be checked.

func WrapAudienceAgnosticToken Uses

func WrapAudienceAgnosticToken(implicit Audiences, delegate Token) Token

WrapAudienceAgnosticToken wraps an audience agnostic token authenticator to restrict its accepted audiences to a set of implicit audiences.

type TokenFunc Uses

type TokenFunc func(ctx context.Context, token string) (*Response, bool, error)

TokenFunc is a function that implements the Token interface.

func (TokenFunc) AuthenticateToken Uses

func (f TokenFunc) AuthenticateToken(ctx context.Context, token string) (*Response, bool, error)

AuthenticateToken implements authenticator.Token.

Package authenticator imports 4 packages (graph) and is imported by 261 packages. Updated 2018-11-05. Refresh now. Tools for package owners.