authenticator

package
v0.0.0-...-d88c8b5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2021 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithAudiences

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

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

Types

type Audiences

type Audiences []string

Audiences is a container for the Audiences of a token.

func AudiencesFrom

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

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

func (Audiences) Has

func (a Audiences) Has(taud string) bool

Has checks if Audiences contains a specific audiences.

func (Audiences) Intersect

func (a Audiences) Intersect(tauds Audiences) Audiences

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

type Request

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

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

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

RequestFunc is a function that implements the Request interface.

func (RequestFunc) AuthenticateRequest

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

AuthenticateRequest implements authenticator.Request.

type Response

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

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

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

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

TokenFunc is a function that implements the Token interface.

func (TokenFunc) AuthenticateToken

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

AuthenticateToken implements authenticator.Token.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL