Versions in this module Expand all Collapse all v0 v0.4.2 Jul 28, 2026 Changes in this version + const ClaimAudience + const ClaimExpiration + const ClaimIssuedAt + const ClaimIssuer + const ClaimNotBefore + const ClaimSubject + const Kind + const MaxClaims + var ErrEmptyID = errors.New("token ID is empty") + var ErrExpired = errors.New("token expired (after Expiration)") + var ErrInvalidAudience = errors.New("audience claim is invalid") + var ErrInvalidEventCreatedAt = errors.New("invalid event created at") + var ErrInvalidEventID = errors.New("invalid event ID") + var ErrInvalidEventJSON = errors.New("invalid event JSON") + var ErrInvalidEventKind = fmt.Errorf("event kind must be %d", Kind) + var ErrInvalidEventSignature = errors.New("invalid event signature") + var ErrInvalidExpiration = errors.New("expiration claim is invalid") + var ErrInvalidHeader = errors.New("invalid Authorization header format") + var ErrInvalidIssuedAt = errors.New("issued at claim is invalid") + var ErrInvalidNotBefore = errors.New("not before claim is invalid") + var ErrInvalidTimeWindow = errors.New("not before is after expiration") + var ErrMissingHeader = errors.New("missing Authorization header") + var ErrNotYetValid = errors.New("token not yet valid (before NotBefore)") + var MaxTime = time.Date(9999, 12, 31, 23, 59, 59, 0, time.UTC) + var MinTime = time.Unix(0, 0).UTC() + func ExtractEventHTTP(r *http.Request) (*nostr.Event, error) + func SetAuth(r *http.Request, event *nostr.Event) error + func ValidateEvent(e *nostr.Event) error + func ValidateTimeClaims(t Token, skew time.Duration) error + type StrictValidator struct + ClockSkew time.Duration + Identifier string + func (v StrictValidator) Validate(t Token) error + type Token struct + Audience []string + Expiration time.Time + Extra nostr.Tags + ID string + IssuedAt time.Time + Issuer string + NotBefore time.Time + Signer string + Subject string + func Parse(r *http.Request) (Token, error) + func ParseToken(event *nostr.Event) (Token, error) + func (t Token) IsActive(skew time.Duration) bool + func (t Token) IsActiveAt(now time.Time, skew time.Duration) bool + func (t Token) String() string + func (t Token) ToTags() nostr.Tags + type Validator interface + Validate func(Token) error