token

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2022 License: MIT Imports: 3 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)

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
}

func NewGenerateOptions

func NewGenerateOptions(opts ...GenerateOption) GenerateOptions

NewGenerateOptions from a slice of options

type Option

type Option func(o *Options)

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

type Options

type Options struct {
	// PublicKey base64 encoded, used by JWT
	PublicKey string
	// PrivateKey base64 encoded, used by JWT
	PrivateKey string
}

func NewOptions

func NewOptions(opts ...Option) Options

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 {
	// The actual token
	Token string `json:"token"`
	// Time of token creation
	Created time.Time `json:"created"`
	// Time of token expiry
	Expiry time.Time `json:"expiry"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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