jwt

package module
v0.0.0-...-1077ceb Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2024 License: MIT Imports: 8 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrIsNil              = errors.New("token is nil")
	ErrNotValid           = errors.New("not valid")
	ErrClaimsTypeMismatch = errors.New("claims type mismatch")
)

Functions

This section is empty.

Types

type Claims

type Claims[T any] struct {
	jwt.RegisteredClaims
	Data *T `json:"data,omitempty"`
}

func NewClaims

func NewClaims[T any](data *T) *Claims[T]

func (*Claims[T]) AddAudience

func (c *Claims[T]) AddAudience(aud ...string) *Claims[T]

func (*Claims[T]) SetAudience

func (c *Claims[T]) SetAudience(aud ...string) *Claims[T]

func (*Claims[T]) SetExpiresAt

func (c *Claims[T]) SetExpiresAt(t time.Time) *Claims[T]

func (*Claims[T]) SetID

func (c *Claims[T]) SetID(id string) *Claims[T]

func (*Claims[T]) SetIssuedAt

func (c *Claims[T]) SetIssuedAt(t time.Time) *Claims[T]

func (*Claims[T]) SetIssuer

func (c *Claims[T]) SetIssuer(iss string) *Claims[T]

func (*Claims[T]) SetNotBefore

func (c *Claims[T]) SetNotBefore(t time.Time) *Claims[T]

func (*Claims[T]) SetSubject

func (c *Claims[T]) SetSubject(sub string) *Claims[T]

type Generator

type Generator struct {
}

func (Generator) ECDSA

func (g Generator) ECDSA() (*ecdsa.PrivateKey, error)

func (Generator) Ed25519

func (g Generator) Ed25519() (ed25519.PrivateKey, error)

func (Generator) HMAC

func (g Generator) HMAC() ([]byte, error)

func (Generator) RSA

func (g Generator) RSA() (*rsa.PrivateKey, error)

type JWT

type JWT[T any] struct {
	// contains filtered or unexported fields
}

func New

func New[T any](method jwt.SigningMethod, privateKey, publicKey any, claims Claims[T]) *JWT[T]

func (*JWT[T]) Generate

func (j *JWT[T]) Generate(claims Claims[T]) (string, error)

func (*JWT[T]) MustGenerate

func (j *JWT[T]) MustGenerate(claims Claims[T]) string

func (*JWT[T]) Parse

func (j *JWT[T]) Parse(tokenString string) (*Claims[T], error)

func (*JWT[T]) ParseToken

func (j *JWT[T]) ParseToken(token *jwt.Token) (*Claims[T], error)

Jump to

Keyboard shortcuts

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