authenticator

package
v0.0.0-...-a134451 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2024 License: MIT Imports: 8 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 BearerToken

type BearerToken struct {
	// contains filtered or unexported fields
}

func NewBearerToken

func NewBearerToken(auth Token) *BearerToken

func (*BearerToken) AuthenticateRequest

func (a *BearerToken) AuthenticateRequest(req *http.Request) (*Response, bool, error)

type JWT

type JWT struct {
	Secret []byte
}

func NewJWT

func NewJWT(secret []byte) *JWT

func (*JWT) AuthenticateToken

func (j *JWT) AuthenticateToken(ctx context.Context, token string) (*Response, bool, error)

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.

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.

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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