apitoken

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2024 License: MIT Imports: 4 Imported by: 0

README

apitoken

Simple ApiToken authentication for simple projects.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultUnautorizedHandler = http.HandlerFunc(defaultUnautorizedHandler)

Functions

This section is empty.

Types

type Handler

type Handler struct {
	Handler             http.Handler
	UnauthorizedHandler http.Handler
	TokenSet            TokenSet
}

func NewHandler

func NewHandler(h http.Handler, ts TokenSet) *Handler

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

type NeverExpireTokens

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

func NewNeverExpireTokens

func NewNeverExpireTokens(tokenSize int) *NeverExpireTokens

func (*NeverExpireTokens) Add

func (ts *NeverExpireTokens) Add(token string, _ time.Time)

func (*NeverExpireTokens) New

func (ts *NeverExpireTokens) New() string

func (*NeverExpireTokens) Remove

func (ts *NeverExpireTokens) Remove(token string)

func (*NeverExpireTokens) Set

func (ts *NeverExpireTokens) Set(tokens []string)

func (*NeverExpireTokens) Validate

func (ts *NeverExpireTokens) Validate(token string) bool

type TokenSet

type TokenSet interface {
	Add(string, time.Time)
	Validate(string) bool
	Remove(string)
	New() string
}

type Tokens

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

func NewTokens

func NewTokens(tokenSize int, expiration time.Duration) *Tokens

func (*Tokens) Add

func (t *Tokens) Add(token string, expire time.Time)

func (*Tokens) New

func (t *Tokens) New() string

func (*Tokens) Remove

func (t *Tokens) Remove(token string)

func (*Tokens) Validate

func (t *Tokens) Validate(token string) bool

type Wrapper

type Wrapper struct {
	UnauthorizedHandler http.Handler
	TokenSet            TokenSet
}

func NewWrapper

func NewWrapper(tokens TokenSet) *Wrapper

func (*Wrapper) Wrap

func (w *Wrapper) Wrap(h http.Handler) http.Handler

func (*Wrapper) WrapFunc

func (w *Wrapper) WrapFunc(f func(http.ResponseWriter, *http.Request)) http.Handler

Jump to

Keyboard shortcuts

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