jwt

package
v1.8.4 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package jwt provides the hiboot starter for injectable jwt dependency

Index

Constants

View Source
const (
	// DefaultContextKey is the default context key for JWT
	DefaultContextKey = "jwt"
)
View Source
const (
	// Profile is the profile of jwt, it should be as same as the package name
	Profile = "jwt"
)

Variables

This section is empty.

Functions

func FromAuthHeader added in v1.8.4

func FromAuthHeader(ctx ictx.Context) (string, error)

FromAuthHeader extracts the JWT token from the Authorization header.

func OnError added in v1.8.4

func OnError(ctx ictx.Context, err string)

OnError is the default error handler

Types

type Config added in v1.8.4

type Config struct {
	ValidationKeyGetter jwt.Keyfunc
	ContextKey          string
	ErrorHandler        errorHandler
	CredentialsOptional bool
	Extractor           TokenExtractor
	Debug               bool
	EnableAuthOnOptions bool
	SigningMethod       jwt.SigningMethod
}

Config is a struct for specifying configuration options for the jwt middleware.

type Controller

type Controller struct {
	at.JwtRestController
}

Controller is the base controller for jwt.RestController

type Map

type Map map[string]interface{}

Map is the JWT map

type Middleware added in v0.9.3

type Middleware struct {
	Config Config
}

Middleware derived from github.com/hidevopsio/middleware/jwt/Middleware

func NewJwtMiddleware

func NewJwtMiddleware(cfg ...Config) *Middleware

NewJwtMiddleware New constructs a new Secure instance with supplied options.

func (*Middleware) CheckJWT added in v0.9.3

func (m *Middleware) CheckJWT(ctx ictx.Context) error

CheckJWT the main functionality, checks for token

func (*Middleware) Serve added in v0.9.3

func (m *Middleware) Serve(ctx context.Context)

Serve the middleware's action

type Properties

type Properties struct {
	at.ConfigurationProperties `value:"jwt"`
	at.AutoWired

	PrivateKeyPath string `json:"private_key_path" default:"config/ssl/app.rsa"`
	PublicKeyPath  string `json:"public_key_path" default:"config/ssl/app.rsa.pub"`
}

Properties the jwt properties

type Token

type Token interface {
	Generate(payload Map, expired int64, unit time.Duration) (string, error)
	VerifyKey() *rsa.PublicKey
}

Token is the token interface

func NewJwtToken

func NewJwtToken(p *Properties) (token Token)

NewJwtToken create new jwt token

type TokenExtractor added in v1.8.4

type TokenExtractor func(ictx.Context) (string, error)

TokenExtractor is a function that takes a context as input and returns either a token or an error.

func FromFirst added in v1.8.4

func FromFirst(extractors ...TokenExtractor) TokenExtractor

FromFirst returns a function that runs multiple token extractors and takes the first token it finds

func FromParameter added in v1.8.4

func FromParameter(param string) TokenExtractor

FromParameter returns a function that extracts the token from the specified query string parameter

type TokenProperties added in v0.11.0

type TokenProperties struct {
	at.Scope `value:"request"`
	// contains filtered or unexported fields
}

TokenProperties is the struct for parse jwt token properties

func (*TokenProperties) Get added in v0.11.0

func (p *TokenProperties) Get(propName string) (propVal string)

Get is an util that parsing JWT token and return single property from jwt.MapClaims

func (*TokenProperties) GetAll added in v0.11.0

func (p *TokenProperties) GetAll() (propMap map[string]interface{}, ok bool)

GetAll is an util that parsing JWT token and return all properties from jwt.MapClaims

func (*TokenProperties) Items added in v0.11.0

func (p *TokenProperties) Items() (propMap map[string]string, ok bool)

Items is an util that parsing JWT token and return all properties in map from jwt.MapClaims

func (*TokenProperties) Parse added in v0.11.0

func (p *TokenProperties) Parse(claims jwt.MapClaims, prop string) (retVal string)

Parse is an util that parsing JWT token from jwt.MapClaims

Jump to

Keyboard shortcuts

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