token

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidToken         = errors.New("invalid access token")
	ErrExpiredToken         = errors.New("expired access token")
	ErrUnknownKey           = errors.New("unknown signing key")
	ErrInvalidClaims        = errors.New("invalid token claims")
	ErrRevokedToken         = errors.New("revoked access token")
	ErrInvalidRoleNamespace = errors.New("invalid role namespace")
)

Functions

This section is empty.

Types

type AccessClaims

type AccessClaims struct {
	SessionID uuid.UUID    `json:"sid"`
	OrgID     uuid.UUID    `json:"org_id"`
	OrgRole   string       `json:"org_role"`
	Roles     []roles.Role `json:"roles"`

	jwt.RegisteredClaims
}

type AccessTokenRevocations added in v0.13.0

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

func NewAccessTokenRevocations added in v0.13.0

func NewAccessTokenRevocations(cache cache.Cache, ttl time.Duration) *AccessTokenRevocations

func (*AccessTokenRevocations) Check added in v0.13.0

func (r *AccessTokenRevocations) Check(
	ctx context.Context,
	accessToken string,
	claims *AccessClaims,
) error

func (*AccessTokenRevocations) RevokeMembership added in v0.13.0

func (r *AccessTokenRevocations) RevokeMembership(
	ctx context.Context,
	userID uuid.UUID,
	organizationID uuid.UUID,
	revokedAt time.Time,
) error

func (*AccessTokenRevocations) RevokeSession added in v0.13.0

func (r *AccessTokenRevocations) RevokeSession(ctx context.Context, sessionID uuid.UUID, revokedAt time.Time) error

func (*AccessTokenRevocations) RevokeToken added in v0.13.0

func (r *AccessTokenRevocations) RevokeToken(ctx context.Context, accessToken string, ttl time.Duration) error

func (*AccessTokenRevocations) RevokeUser added in v0.13.0

func (r *AccessTokenRevocations) RevokeUser(ctx context.Context, userID uuid.UUID, revokedAt time.Time) error

type AccessTokenService

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

func NewAccessTokenService

func NewAccessTokenService(
	keys *KeySet,
	issuer string,
	ttl time.Duration,
) *AccessTokenService

func (*AccessTokenService) Generate

func (s *AccessTokenService) Generate(
	userID uuid.UUID,
	sessionID uuid.UUID,
	organizationID uuid.UUID,
	organizationRole string,
	audience Audience,
	roles roles.Roles,
	now time.Time,
) (string, error)

func (*AccessTokenService) Parse

func (s *AccessTokenService) Parse(tokenString string, expectedAudience Audience, now time.Time) (*AccessClaims, error)

func (*AccessTokenService) ParseAny added in v0.1.13

func (s *AccessTokenService) ParseAny(tokenString string, now time.Time) (*AccessClaims, error)

type Audience

type Audience string
const (
	AudienceApp   Audience = "app"
	AudienceAdmin Audience = "admin"
)

type KeySet

type KeySet struct {
	ActiveKeyID string
	Keys        map[string][]byte
}

func NewKeySet

func NewKeySet(activeKeyID string, keys map[string][]byte) (*KeySet, error)

func (*KeySet) SigningKey

func (k *KeySet) SigningKey() (keyID string, key []byte)

func (*KeySet) VerificationKey

func (k *KeySet) VerificationKey(keyID string) ([]byte, bool)

Jump to

Keyboard shortcuts

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