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.