template-monorepo/internal/model/auth/domain/repository/token_revoke.go

16 lines
536 B
Go

package repository
import (
"context"
"time"
)
// TokenRevokeStore tracks access/refresh jti pairs and JWT revocation blacklist.
type TokenRevokeStore interface {
SavePair(ctx context.Context, accessJTI, refreshJTI string, accessTTL, refreshTTL time.Duration) error
GetPairedJTI(ctx context.Context, jti string) (string, error)
DeletePair(ctx context.Context, accessJTI, refreshJTI string) error
Blacklist(ctx context.Context, jti string, ttl time.Duration) error
IsBlacklisted(ctx context.Context, jti string) (bool, error)
}