token

package
v3.4.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotFound is returned when a token cannot be found
	ErrNotFound = errors.New("token not found")
	// ErrEncodingToken is returned when the service encounters an error during encoding
	ErrEncodingToken = errors.New("error encoding the token")
	// ErrInvalidToken is returned when the token provided is not valid
	ErrInvalidToken = errors.New("invalid token provided")
)

Functions

This section is empty.

Types

type GenerateOption

type GenerateOption func(o *GenerateOptions)

GenerateOption func signature

func WithExpiry

func WithExpiry(d time.Duration) GenerateOption

WithExpiry for the generated account's token expires

type GenerateOptions

type GenerateOptions struct {
	// Expiry for the token
	Expiry time.Duration
}

GenerateOptions holds the generate options

func NewGenerateOptions

func NewGenerateOptions(opts ...GenerateOption) GenerateOptions

NewGenerateOptions from a slice of options

type Option

type Option func(o *Options)

Option func signature

func WithPrivateKey

func WithPrivateKey(key string) Option

WithPrivateKey sets the JWT private key

func WithPublicKey

func WithPublicKey(key string) Option

WithPublicKey sets the JWT public key

func WithStore

func WithStore(s store.Store) Option

WithStore sets the token providers store

type Options

type Options struct {
	// Store to persist the tokens
	Store store.Store
	// PublicKey base64 encoded, used by JWT
	PublicKey string
	// PrivateKey base64 encoded, used by JWT
	PrivateKey string
}

Options holds the options for token

func NewOptions

func NewOptions(opts ...Option) Options

NewOptions returns options struct filled by opts

type Provider

type Provider interface {
	Generate(account *auth.Account, opts ...GenerateOption) (*Token, error)
	Inspect(token string) (*auth.Account, error)
	String() string
}

Provider generates and inspects tokens

type Token

type Token struct {
	// Created time of token created
	Created time.Time `json:"created"`
	// Expiry ime of the token
	Expiry time.Time `json:"expiry"`
	// Token holds the actual token
	Token string `json:"token"`
}

Token holds the auth token

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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