jwt_exchange

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2020 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultProxyDirector added in v0.2.1

func DefaultProxyDirector(rawUrl string) func(req *http.Request)

Types

type ClaimsExtractor

type ClaimsExtractor interface {
	Extract(req *http.Request) (jwt.MapClaims, error)
}

type ClaimsMapper

type ClaimsMapper interface {
	// contains filtered or unexported methods
}

type GenericClaimsMapper

type GenericClaimsMapper struct {
	TokenTTL int64
	Audience string
}

type GenericTokenCreator

type GenericTokenCreator struct {
	CreationFunc func(orginalClaims jwt.MapClaims) (string, error)
}

func (GenericTokenCreator) CreateToken

func (g GenericTokenCreator) CreateToken(orginalClaims jwt.MapClaims) (string, error)

type HeaderTokenReader

type HeaderTokenReader struct {
	HeaderName string
	TrimPrefix bool
	Prefix     string
}

func (HeaderTokenReader) Read

func (htr HeaderTokenReader) Read(r *http.Request) string

type HeaderTokenWriter

type HeaderTokenWriter struct {
	HeaderName string
	Prefix     string
}

func (HeaderTokenWriter) Write

func (htw HeaderTokenWriter) Write(r *http.Request, token string)

type JwksCache

type JwksCache struct {
	JwksUrl string

	JwksRefreshInterval time.Duration
	// contains filtered or unexported fields
}

func (*JwksCache) ReloadJwks

func (c *JwksCache) ReloadJwks() error

func (*JwksCache) Validate

func (c *JwksCache) Validate(tokenString string) (jwt.MapClaims, error)

type JwksClaimsExtractor

type JwksClaimsExtractor struct {
	Validator   TokenValidator
	TokenReader TokenReader
}

func (JwksClaimsExtractor) Extract

func (extractor JwksClaimsExtractor) Extract(r *http.Request) (jwt.MapClaims, error)

type JwtCreator_HS256

type JwtCreator_HS256 struct {
	JwtSecret []byte
}

func (JwtCreator_HS256) CreateToken

func (j JwtCreator_HS256) CreateToken(inputClaims jwt.MapClaims) (string, error)

type TokenCreator

type TokenCreator interface {
	CreateToken(orginalClaims jwt.MapClaims) (string, error)
}

Creates the outgoing token from provided claims

type TokenExchangeConfig

type TokenExchangeConfig struct {
	ClaimsExtractor         ClaimsExtractor
	ReplacementTokenCreator TokenCreator
	OutgoingTokenHeader     string
	OutgoingTokenPrefix     string
	ProxyBindAddress        string
	TargetUrl               string
}

type TokenExchangeHandler

type TokenExchangeHandler struct {
	ClaimsExtractor   ClaimsExtractor
	ClaimsMapper      ClaimsMapper
	TokenCreator      TokenCreator
	HeaderTokenWriter HeaderTokenWriter
	Director          func(r *http.Request)
	RejectOnNoToken   bool
}

func (TokenExchangeHandler) ProxyHandler

func (teh TokenExchangeHandler) ProxyHandler() func(w http.ResponseWriter, r *http.Request)

type TokenHeaderField

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

type TokenReader

type TokenReader interface {
	Read(re *http.Request) string
}

type TokenValidator

type TokenValidator interface {
	Validate(token string) (jwt.MapClaims, error)
}

validates the incoming token and extracts MapClaims

type TokenWriter

type TokenWriter interface {
	Write(w http.ResponseWriter)
}

Jump to

Keyboard shortcuts

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