jwtauth

package module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 26, 2022 License: MIT Imports: 10 Imported by: 2

README

jwtauth

jwtauth is server side validation library for JWT tokens passed with requests to access JWT-protected resources at API server.

It extract JWT token from request, validate and return ClientInfo struct to be consumed by API server.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientInfo

type ClientInfo struct {
	ID        string   `json:",omitempty"`
	AppName   string   `json:",omitempty"`
	AppUserID string   `json:",omitempty"`
	IPAddr    string   `json:",omitempty"`
	Scopes    []string `json:",omitempty"`
	ScopesCSV string   `json:",omitempty"`
}

ClientInfo holds client info extracted from JWT token

type Validator

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

Validator holds config for JWT token validation along with public key

func InitValidator

func InitValidator(config ValidatorConfig, publicKeyFilepath string) *Validator

InitValidator initialize JWT validator config and load public key

func (*Validator) ValidateRequest

func (v *Validator) ValidateRequest(r *http.Request) (*ClientInfo, error)

ValidateRequest extract token from request and validate

func (*Validator) ValidateToken

func (v *Validator) ValidateToken(token string, remoteAddr string) (*ClientInfo, error)

ValidateToken validates given JWT token and return Claimset

type ValidatorConfig

type ValidatorConfig struct {
	JWTIssuer   string
	JWTAudience string
	//JWTTimeSkew specifies the duration in minutes in which iat, exp and nbf claims may differ by
	JWTTimeSkew int
}

ValidatorConfig holds config to initialize JWT validator

Jump to

Keyboard shortcuts

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