token

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrPkg describes the base package error.
	ErrPkg = errors.New(`token`)
	// ErrSignerUnableGenerateUUID unable to generate UUID.
	ErrSignerUnableGenerateUUID = fmt.Errorf(`%w: %s`, ErrPkg, `unable to generate random UUID`)
	// ErrSignerUnableToSignToken token signature error.
	ErrSignerUnableToSignToken = fmt.Errorf(`%w: %s`, ErrPkg, `unable to sign token`)
	// ErrUUIDProviderNewRandom error.
	ErrUUIDProviderNewRandom = fmt.Errorf(`%w: %s`, ErrPkg, `unable to generate new random UUID`)
)

Functions

This section is empty.

Types

type DefaultRoundTripper

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

DefaultRoundTripper signs request using signer function.

func NewDefaultRoundTripper

func NewDefaultRoundTripper(next http.RoundTripper, signer Signer) *DefaultRoundTripper

NewDefaultRoundTripper returns an instance of DefaultRoundTripper.

func (*DefaultRoundTripper) RoundTrip

func (t *DefaultRoundTripper) RoundTrip(request *http.Request) (*http.Response, error)

RoundTrip transparently handles request body signing.

type DefaultSigner

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

DefaultSigner is a service to generate JWT token with signed payload.

func NewDefaultSigner

func NewDefaultSigner(
	uuidProvider UUIDRandomiser,
	timeProvider TimeProvider,
	key *rsa.PrivateKey,
	keyID string,
	aud string,
) *DefaultSigner

NewDefaultSigner creates a new token signer.

func (*DefaultSigner) Sign

func (ds *DefaultSigner) Sign(data []byte) (string, error)

Sign function returns a JWT token.

type DefaultUUIDProvider

type DefaultUUIDProvider struct{}

DefaultUUIDProvider provider.

func NewUUIDProvider

func NewUUIDProvider() *DefaultUUIDProvider

NewUUIDProvider UUIDProvider factory.

func (*DefaultUUIDProvider) RandomUUID

func (u *DefaultUUIDProvider) RandomUUID() (uuid.UUID, error)

RandomUUID return random UUID.

type RoundTripper

type RoundTripper interface {
	RoundTrip(request *http.Request) (*http.Response, error)
}

RoundTripper http round tripper.

type Signer

type Signer interface {
	Sign(data []byte) (string, error)
}

Signer a JWT token signer.

type TimeProvider

type TimeProvider interface {
	Unix() int64
}

TimeProvider time provider.

type UUIDRandomiser

type UUIDRandomiser interface {
	RandomUUID() (uuid.UUID, error)
}

UUIDRandomiser randomised UUID generator.

Jump to

Keyboard shortcuts

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