Versions in this module Expand all Collapse all v0 v0.55.0 May 4, 2024 v0.54.0 Apr 4, 2024 Changes in this version + var DefaultTTL = 60 * time.Second + func Decrypt(aead cipher.AEAD, token string) (plain, footer []byte, err error) + func Encrypt(aead cipher.AEAD, plain, footer []byte) (token string, err error) + func Sign(sk ed25519.PrivateKey, m, f []byte) (token string, err error) + func Verify(pk ed25519.PublicKey, sm, f []byte) (msg []byte, err error) + type JSONFooter struct + Data map[string]interface{} + KID string + type JSONToken struct + Audience string + Data string + ExpiredAt *time.Time + IssuedAt *time.Time + Issuer string + NotBefore *time.Time + Subject string + TokenID string + func (jtoken *JSONToken) Validate(audience string, peer Key) (err error) + type Key struct + AllowedSubjects map[string]struct{} + ID string + Private ed25519.PrivateKey + Public ed25519.PublicKey + type LocalMode struct + func NewLocalMode(key []byte) (local *LocalMode, err error) + func (l *LocalMode) Pack(data, footer []byte) (token string, err error) + func (l *LocalMode) Unpack(token string) (data, footer []byte, err error) + type PublicMode struct + func NewPublicMode(our Key) (auth *PublicMode, err error) + func (auth *PublicMode) AddPeer(k Key) (err error) + func (auth *PublicMode) GetPeerKey(id string) (k Key, ok bool) + func (auth *PublicMode) Pack(audience, subject string, data []byte, footer map[string]interface{}) (token string, err error) + func (auth *PublicMode) RemovePeer(id string) + func (auth *PublicMode) Unpack(token string) (publicToken *PublicToken, err error) + func (auth *PublicMode) UnpackHTTPRequest(req *http.Request) (publicToken *PublicToken, err error) + type PublicToken struct + Data []byte + Footer JSONFooter + Token JSONToken