Documentation
¶
Index ¶
- type DefaultJWTService
- func (js *DefaultJWTService) CreateBootstrapJWT(ctx context.Context, sessionID, agentName, agentImage string) (string, error)
- func (js *DefaultJWTService) CreateSessionJWT(ctx context.Context, claims *identity.OARClaims) (string, error)
- func (js *DefaultJWTService) GetJWKS(ctx context.Context) (*identity.JWKS, error)
- func (js *DefaultJWTService) ValidateJWT(ctx context.Context, token string) (*jwtlib.Token, *identity.OARClaims, error)
- type DefaultJWTServiceOption
- type JWTService
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
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
Click to show internal directories.
Click to hide internal directories.