openid

package
v2.0.2 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

Types

type JWK

type JWK struct {
	Kty string `json:"kty"`
	Alg string `json:"alg,omitempty"`
	Use string `json:"use,omitempty"`

	// Common
	Kid string `json:"kid"`

	// RSA
	E string `json:"e,omitempty"`
	N string `json:"n,omitempty"`

	// EC
	Crv string `json:"crv,omitempty"`
	X   string `json:"x,omitempty"`
	Y   string `json:"y,omitempty"`

	// OKP (EdDSA)
	OKPCrv string `json:"crv,omitempty"` //nolint:govet // JWK format allows overlapping field names for different key types
	OKPX   string `json:"x,omitempty"`   //nolint:govet // JWK format allows overlapping field names for different key types
}

type JWKSet

type JWKSet struct {
	Keys []JWK `json:"keys"`
}

type TokenAuthenticator

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

func NewTokenAuthenticator

func NewTokenAuthenticator(jwksURL string, refresh time.Duration) *TokenAuthenticator

func (*TokenAuthenticator) GetKey

func (a *TokenAuthenticator) GetKey(token *jwt.Token) (any, error)

func (*TokenAuthenticator) GetKeyCount

func (a *TokenAuthenticator) GetKeyCount() int

GetKeyCount returns the number of currently loaded keys (for testing purposes).

func (*TokenAuthenticator) LoadFromJSON

func (a *TokenAuthenticator) LoadFromJSON(data []byte) error

LoadFromJSON parses JWK Set JSON data and loads the keys directly, without fetching from a URL. This is useful when JWKS data is provided via configuration (e.g. OAUTH2_WELL_KNOWN_JWK_DATA env var).

func (*TokenAuthenticator) Refresh deprecated

func (a *TokenAuthenticator) Refresh() error

Refresh refreshes the JWKS from the well-known URL using a default timeout.

Deprecated: Use RefreshWithContext instead.

func (*TokenAuthenticator) RefreshWithContext added in v2.0.2

func (a *TokenAuthenticator) RefreshWithContext(ctx context.Context) error

RefreshWithContext refreshes the JWKS from the well-known URL using the provided context.

func (*TokenAuthenticator) Start

func (a *TokenAuthenticator) Start(ctx context.Context)

Start begins the background JWKS refresh using the provided context. The context controls the lifetime of the background goroutine.

func (*TokenAuthenticator) Stop

func (a *TokenAuthenticator) Stop()

Jump to

Keyboard shortcuts

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