package jst
import "git.sr.ht/~pingoo/stdx/jst"
Index ¶
- Constants
- Variables
- type HeaderV1
- type KeyProvider
- type KeyProviderMemory
- func NewKeyProviderMemory(keys map[string][]byte) *KeyProviderMemory
- func (provider *KeyProviderMemory) GetKey(keyId string) (key []byte, err error)
- type Provider
- func NewProvider(keyProvider KeyProvider, defaultKey string) (provider *Provider, err error)
- func (provider *Provider) IssueToken(payload any, expiresAt *time.Time, options *TokenOptions) (token string, err error)
- func (provider *Provider) VerifyToken(token string, data any) (header HeaderV1, err error)
- type TokenOptions
Constants ¶
const (
V1KeySize = 32
)
Variables ¶
var ( ErrTokenIsNotValid = errors.New("jst: token is not valid") ErrSignatureIsNotValid = errors.New("jst: signature is not valid") ErrTokenHasExpired = errors.New("jst: token has expired") )
var ( ErrKeyNotFound = func(keyId string) error { return fmt.Errorf("key (%s) not found", keyId) } )
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 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 ¶
type TokenOptions ¶
type TokenOptions struct { NotBefore *time.Time IssuedAt *time.Time KeyID string Compression string }
Source Files ¶
jst.go keys.go keys_memory.go
- Version
- v0.0.0-20240218134121-094174641f6e (latest)
- Published
- Feb 18, 2024
- Platform
- linux/amd64
- Imports
- 11 packages
- Last checked
- 4 months ago –
Tools for package owners.