jwt

package
v0.0.0-...-53ff5f4 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2022 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Unauthorized = errors.New("unauthorized")
)
View Source
var (
	ValidMethodsEC = []string{jwt.SigningMethodES256.Name}
)

Functions

func AccessCheckMiddleware

func AccessCheckMiddleware(a access.Helper, permissions ...string) endpoint.Middleware

func AccessClaimsFactory

func AccessClaimsFactory() jwt.Claims

func KitAdapterMiddleware

func KitAdapterMiddleware(j Service) endpoint.Middleware

func Middleware

func Middleware(j Service, a access.Helper, permissions ...string) endpoint.Middleware

func ValidatorFactory

func ValidatorFactory(a access.Helper, permissions ...string) func(acc access.Access) bool

Types

type AccessClaims

type AccessClaims struct {
	jwt.RegisteredClaims
	UserID    uint32        `json:"user_id"`
	AccountID uint32        `json:"account_id"`
	Access    access.Access `json:"access"`
}

func NewAccessClaims

func NewAccessClaims(userID, accID uint32, acc access.Access, aud []string, duration time.Duration) AccessClaims

func (AccessClaims) Valid

func (c AccessClaims) Valid() error

type ClaimsFactory

type ClaimsFactory func() jwt.Claims

type Service

type Service interface {
	AccessToken(userID, accID uint32, acc access.Access, aud []string, duration time.Duration) (string, error)
	VerifyAccessToken(token string) (jwt.Claims, error)
	ClaimsFactory() ClaimsFactory
	SigningMethod() jwt.SigningMethod
	Key() *ecdsa.PrivateKey
	PublicKey() *ecdsa.PublicKey
}

func New

func New(
	logger *log.Logger,
	signingMethod jwt.SigningMethod,
	validSigningMethods []string,
	claimsFactory ClaimsFactory,
	key *ecdsa.PrivateKey,
	publicKey *ecdsa.PublicKey,
) Service

Jump to

Keyboard shortcuts

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