authcache

package
v3.22.0 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package authcache implements a cache for token auth to hold auth- results with cpu/mem inexpensive methods instead of always using secure but expensive methods to validate the token

Index

Constants

View Source
const NegativeCacheTime = 5 * time.Minute

Variables

View Source
var ErrUnauthorized = errors.New("unauthorized")

ErrUnauthorized denotes the token could not be found in any backend auth method and therefore is not an user

Functions

This section is empty.

Types

type AuthFunc

type AuthFunc func(token string) (modules []string, expiresAt time.Time, err error)

AuthFunc is a backend-function to resolve a token to a list of modules the token is authorized for, an expiry-time and an error. The error MUST be ErrUnauthorized in case the user is not found, if the error is another, the backend resolve will be cancelled and no further backends are queried.

type CacheEntry

type CacheEntry struct {
	AuthResult error // Allows for negative caching
	ExpiresAt  time.Time
	Modules    []string
}

type Service

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

func New

func New(backends ...AuthFunc) *Service

func (*Service) ValidateTokenFor

func (s *Service) ValidateTokenFor(token string, modules ...string) error

Jump to

Keyboard shortcuts

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