auth

package
v1.5.4 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	MAX_RETRIES = 3
)

Variables

This section is empty.

Functions

func NewAccessMiddleware

func NewAccessMiddleware(accessLogger AccessLogger, host, port string, log *logger.Logger) func(http.Handler) *AccessHandler

func NewNullAccessMiddleware

func NewNullAccessMiddleware() func(http.Handler) *AccessHandler

Types

type AccessHandler

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

func NewAccessHandler

func NewAccessHandler(handler http.Handler, accessLogger AccessLogger, host, port string, log *logger.Logger) *AccessHandler

func (*AccessHandler) ServeHTTP

func (h *AccessHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)

type AccessLog

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

func NewAccessLog

func NewAccessLog(req *http.Request, ts time.Time, host, port string, log *logger.Logger) *AccessLog

func (*AccessLog) String

func (al *AccessLog) String() string

type AccessLogger

type AccessLogger interface {
	LogAccess(req *http.Request, host, port string) error
}

type AlgorithmError

type AlgorithmError struct {
	Alg string
}

func (AlgorithmError) Error

func (e AlgorithmError) Error() string

type CAPIClient

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

func NewCAPIClient

func NewCAPIClient(
	externalCapiAddr string,
	client HTTPClient,
	metrics metrics.Registrar,
	log *logger.Logger,
	opts ...CAPIOption,
) *CAPIClient

func (*CAPIClient) AvailableSourceIDs added in v1.2.1

func (c *CAPIClient) AvailableSourceIDs(authToken string) []string

func (*CAPIClient) CheckAvailableSourceID added in v1.5.3

func (c *CAPIClient) CheckAvailableSourceID(sourceId string, authToken string) (string, error)

func (*CAPIClient) GetRelatedSourceIds

func (c *CAPIClient) GetRelatedSourceIds(appNames []string, authToken string) map[string][]string

func (*CAPIClient) IsAuthorized

func (c *CAPIClient) IsAuthorized(sourceId string, clientToken string) bool

func (*CAPIClient) TokenCacheSize

func (c *CAPIClient) TokenCacheSize() int

type CAPIOption

type CAPIOption func(c *CAPIClient)

func WithCacheExpirationInterval

func WithCacheExpirationInterval(interval time.Duration) CAPIOption

func WithTokenPruningInterval

func WithTokenPruningInterval(interval time.Duration) CAPIOption

type CFAuthMiddlewareProvider

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

func NewCFAuthMiddlewareProvider

func NewCFAuthMiddlewareProvider(
	oauth2Reader Oauth2ClientReader,
	logAuthorizer LogAuthorizer,
	queryParser QueryParser,
	metrics metrics.Registrar,
	log *logger.Logger,
) CFAuthMiddlewareProvider

func (CFAuthMiddlewareProvider) Middleware

type DefaultAccessLogger

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

func NewAccessLogger

func NewAccessLogger(writer io.Writer, log *logger.Logger) *DefaultAccessLogger

func (*DefaultAccessLogger) LogAccess

func (a *DefaultAccessLogger) LogAccess(req *http.Request, host, port string) error

type HTTPClient

type HTTPClient interface {
	Do(r *http.Request) (*http.Response, error)
}

type LogAuthorizer

type LogAuthorizer interface {
	IsAuthorized(sourceId string, clientToken string) bool
	AvailableSourceIDs(token string) []string
	CheckAvailableSourceID(sourceId string, token string) (string, error)
}

type NullAccessLogger

type NullAccessLogger struct {
}

func NewNullAccessLogger

func NewNullAccessLogger() *NullAccessLogger

func (*NullAccessLogger) LogAccess

func (a *NullAccessLogger) LogAccess(req *http.Request, host, port string) error

type Oauth2ClientContext

type Oauth2ClientContext struct {
	IsAdmin   bool
	Token     string
	ExpiresAt time.Time
}

type Oauth2ClientReader

type Oauth2ClientReader interface {
	Read(token string) (Oauth2ClientContext, error)
}

type QueryParser

type QueryParser interface {
	ExtractSourceIds(query string) ([]string, error)
}

type UAAClient

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

func NewUAAClient

func NewUAAClient(
	uaaAddr string,
	httpClient HTTPClient,
	m metrics.Registrar,
	log *logger.Logger,
	opts ...UAAOption,
) *UAAClient

func (*UAAClient) GetAuthHeader added in v1.4.3

func (uaa *UAAClient) GetAuthHeader() (string, error)

func (*UAAClient) Read

func (uaa *UAAClient) Read(token string) (Oauth2ClientContext, error)

func (*UAAClient) RefreshTokenKeys

func (uaa *UAAClient) RefreshTokenKeys() error

type UAAOption

type UAAOption func(uaa *UAAClient)

func WithClientCredentials added in v1.4.3

func WithClientCredentials(client, secret string) UAAOption

func WithMinimumRefreshInterval

func WithMinimumRefreshInterval(interval time.Duration) UAAOption

type UnknownTokenKeyError

type UnknownTokenKeyError struct {
	Kid string
}

func (UnknownTokenKeyError) Error

func (e UnknownTokenKeyError) Error() string

Jump to

Keyboard shortcuts

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