jwt

package
v0.0.0-...-50f8504 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultJWTService

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

DefaultJWTService implements JWTService

func NewDefaultJWTService

func NewDefaultJWTService(
	ks keystore.KeyStore,
	serviceID, runtimeID, issuer, audience string,
	opts ...DefaultJWTServiceOption,
) *DefaultJWTService

NewDefaultJWTService creates a new JWT service

func (*DefaultJWTService) CreateBootstrapJWT

func (js *DefaultJWTService) CreateBootstrapJWT(
	ctx context.Context,
	sessionID, agentName, agentImage string,
) (string, error)

CreateBootstrapJWT creates a 5-minute bootstrap JWT for a new session

func (*DefaultJWTService) CreateSessionJWT

func (js *DefaultJWTService) CreateSessionJWT(
	ctx context.Context,
	claims *identity.OARClaims,
) (string, error)

CreateSessionJWT creates a 5-minute session JWT with full claims

func (*DefaultJWTService) GetJWKS

func (js *DefaultJWTService) GetJWKS(ctx context.Context) (*identity.JWKS, error)

GetJWKS returns the current JWKS for validation

func (*DefaultJWTService) ValidateJWT

func (js *DefaultJWTService) ValidateJWT(
	ctx context.Context,
	token string,
) (*jwtlib.Token, *identity.OARClaims, error)

ValidateJWT validates and parses a JWT, returning claims

type DefaultJWTServiceOption

type DefaultJWTServiceOption func(*DefaultJWTService)

DefaultJWTServiceOption is a functional option for DefaultJWTService

func WithLogger

func WithLogger(logger *slog.Logger) DefaultJWTServiceOption

WithLogger sets a custom logger

type JWTService

type JWTService interface {
	// CreateBootstrapJWT creates a 5-minute bootstrap JWT for a new session
	CreateBootstrapJWT(ctx context.Context, sessionID, agentName, agentImage string) (string, error)

	// CreateSessionJWT creates a 5-minute session JWT with full claims
	CreateSessionJWT(ctx context.Context, claims *identity.OARClaims) (string, error)

	// ValidateJWT validates and parses a JWT, returning claims
	ValidateJWT(ctx context.Context, token string) (*jwtlib.Token, *identity.OARClaims, error)

	// GetJWKS returns the current JWKS for validation
	GetJWKS(ctx context.Context) (*identity.JWKS, error)
}

JWTService handles JWT token creation and validation

Jump to

Keyboard shortcuts

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