Versions in this module Expand all Collapse all v0 v0.0.1 Aug 18, 2025 Changes in this version + var ErrInvalidAppID = fmt.Errorf("invalid app ID") + var ErrInvalidAppName = fmt.Errorf("invalid app name") + var ErrInvalidRedirectURI = fmt.Errorf("invalid redirect URI") + var ErrInvalidSessionDuration = fmt.Errorf("invalid session duration") + type App struct + AppSecretHash []byte + Name string + RedirectURI string + SessionDuration time.Duration + func (app *App) Attributes() []string + func (app *App) Bytes() []byte + func (app *App) ID(secret *Secret) *AppID + func (app *App) Marshal() []byte + func (app *App) SetAttributes(attrs []string) *App + func (app *App) SetBytes(data []byte) *App + func (app *App) SetID(id *AppID) *App + func (app *App) SetSecret(secret *Secret) *App + func (app *App) SetString(data string) *App + func (app *App) String() string + func (app *App) Unmarshal(data []byte) *App + func (app *App) Valid(secretHash []byte) bool + type AppID []byte + func (id *AppID) Bytes() []byte + func (id *AppID) GenerateToken(secret Secret, email string) Token + func (id *AppID) Message(email string, exp Expiration) []byte + func (id *AppID) PrivKey(secret Secret) ed25519.PrivateKey + func (id *AppID) SetBytes(data []byte) *AppID + func (id *AppID) SetString(data string) *AppID + func (id *AppID) Sign(secret Secret, msg []byte) []byte + func (id *AppID) String() string + func (id *AppID) Verify(secret Secret, msg, sig []byte) bool + func (id *AppID) VerifyToken(token Token, secret Secret, email string) bool + type Expiration time.Time + func (exp *Expiration) Bytes() []byte + func (exp *Expiration) Duration() time.Duration + func (exp *Expiration) Marshal() []byte + func (exp *Expiration) SetBytes(data []byte) *Expiration + func (exp *Expiration) SetDuration(d time.Duration) *Expiration + func (exp *Expiration) SetString(data string) *Expiration + func (exp *Expiration) SetTime(t time.Time) *Expiration + func (exp *Expiration) String() string + func (exp *Expiration) Time() time.Time + func (exp *Expiration) Unmarshal(data []byte) *Expiration + func (exp *Expiration) Valid() bool + type Secret []byte + func (s *Secret) Bytes() []byte + func (s *Secret) Hash() []byte + func (s *Secret) SetParts(raw ...[]byte) *Secret + func (s *Secret) Valid() bool + type Token []byte + func (t *Token) Bytes() []byte + func (t *Token) Expiration() *Expiration + func (t *Token) SetBytes(data []byte) *Token + func (t *Token) SetExpiration(exp Expiration) *Token + func (t *Token) SetSignature(sig []byte) *Token + func (t *Token) SetString(data string) *Token + func (t *Token) Signature() []byte + func (t *Token) String() string