crypto

package
v0.0.0-...-3a79dc6 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrSigningToken = errors.New("cannot sign token")
	ErrInvalidToken = errors.New("invalid token")
)

Functions

This section is empty.

Types

type JWTBase

type JWTBase[K KeyConstraint] struct {
	// contains filtered or unexported fields
}

func (JWTBase[K]) Create

func (j JWTBase[K]) Create(user *data.User, t time.Time) (string, error)

func (JWTBase[K]) Hash

func (JWTBase[K]) Hash(token string) string

type JWTECDSA

type JWTECDSA struct {
	JWTBase[*ecdsa.PrivateKey]
}

func NewJWTECDSA

func NewJWTECDSA(k string, m *jwt.SigningMethodECDSA) (*JWTECDSA, error)

func NewJWTES256

func NewJWTES256() (*JWTECDSA, error)

func NewJWTES512

func NewJWTES512() (*JWTECDSA, error)

func (JWTECDSA) Extract

func (j JWTECDSA) Extract(token string) (u *data.User, err error)

type JWTHMAC

type JWTHMAC struct {
	JWTBase[[]byte]
}

func NewJWTHS256

func NewJWTHS256(s string) *JWTHMAC

func NewJWTHS512

func NewJWTHS512(s string) *JWTHMAC

func (JWTHMAC) Extract

func (j JWTHMAC) Extract(token string) (u *data.User, err error)

type KeyConstraint

type KeyConstraint interface {
	[]byte | *ecdsa.PrivateKey
}

type Token

type Token interface {
	Create(user *data.User, t time.Time) (string, error)
	Extract(token string) (*data.User, error)
	Hash(token string) string
}

type UserClaims

type UserClaims struct {
	data.User
	jwt.RegisteredClaims
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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