jst

package
v0.0.0-...-18e5f0f Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	V1KeySize = 32
)

Variables

View Source
var (
	ErrTokenIsNotValid     = errors.New("jst: token is not valid")
	ErrSignatureIsNotValid = errors.New("jst: signature is not valid")
	ErrTokenHasExpired     = errors.New("jst: token has expired")
)
View Source
var (
	ErrKeyNotFound = func(keyId string) error {
		return fmt.Errorf("key (%s) not found", keyId)
	}
)

Functions

This section is empty.

Types

type HeaderV1

type HeaderV1 struct {
	ExpiresAt   *time.Time `json:"expires_at,omitempty"`
	NotBefore   *time.Time `json:"not_before,omitempty"`
	IssuedAt    *time.Time `json:"issued_at,omitempty"`
	KeyID       string     `json:"key_id,omitempty"`
	Compression string     `json:"compression,omitempty"`
	Nonce       []byte     `json:"nonce"`
}

type KeyProvider

type KeyProvider interface {
	GetKey(keyId string) (key []byte, err error)
}

type KeyProviderMemory

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

func NewKeyProviderMemory

func NewKeyProviderMemory(keys map[string][]byte) *KeyProviderMemory

func (*KeyProviderMemory) GetKey

func (provider *KeyProviderMemory) GetKey(keyId string) (key []byte, err error)

type Provider

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

func NewProvider

func NewProvider(keyProvider KeyProvider, defaultKey string) (provider *Provider, err error)

func (*Provider) IssueToken

func (provider *Provider) IssueToken(payload any, expiresAt *time.Time, options *TokenOptions) (token string, err error)

func (*Provider) VerifyToken

func (provider *Provider) VerifyToken(token string, data any) (header HeaderV1, err error)

type TokenOptions

type TokenOptions struct {
	NotBefore   *time.Time
	IssuedAt    *time.Time
	KeyID       string
	Compression string
}

Jump to

Keyboard shortcuts

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