driver

package
v2.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2024 License: Apache-2.0 Imports: 50 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CallRegistry

func CallRegistry(ctx context.Context, r Registry)

Types

type OptionsModifier

type OptionsModifier func(*options)

func DisablePreloading

func DisablePreloading() OptionsModifier

DisablePreloading will not preload the config.

func DisableValidation

func DisableValidation() OptionsModifier

DisableValidation validating the config.

This does not affect schema validation!

func SkipNetworkInit

func SkipNetworkInit() OptionsModifier

func WithConfig

func WithConfig(config *config.DefaultProvider) OptionsModifier

func WithExtraFositeFactories added in v2.2.0

func WithExtraFositeFactories(f ...fositex.Factory) OptionsModifier

func WithExtraMigrations added in v2.2.0

func WithExtraMigrations(m ...fs.FS) OptionsModifier

WithExtraMigrations specifies additional database migration.

func WithGoMigrations added in v2.2.0

func WithGoMigrations(m ...popx.Migration) OptionsModifier

func WithOptions

func WithOptions(opts ...configx.OptionModifier) OptionsModifier

func WithTracerWrapper added in v2.2.0

func WithTracerWrapper(wrapper TracerWrapper) OptionsModifier

WithTracerWrapper sets a function that wraps the tracer.

type Registry

type Registry interface {
	dbal.Driver

	Init(ctx context.Context, skipNetworkInit bool, migrate bool, ctxer contextx.Contextualizer, extraMigrations []fs.FS, goMigrations []popx.Migration) error

	WithBuildInfo(v, h, d string) Registry
	WithConfig(c *config.DefaultProvider) Registry
	WithContextualizer(ctxer contextx.Contextualizer) Registry
	WithLogger(l *logrusx.Logger) Registry
	WithTracer(t trace.Tracer) Registry
	WithTracerWrapper(TracerWrapper) Registry
	WithKratos(k kratos.Client) Registry
	x.HTTPClientProvider
	GetJWKSFetcherStrategy() fosite.JWKSFetcherStrategy

	WithExtraFositeFactories(f []fositex.Factory) Registry
	ExtraFositeFactories() []fositex.Factory

	contextx.Provider
	config.Provider
	persistence.Provider
	x.RegistryLogger
	x.RegistryWriter
	x.RegistryCookieStore
	client.Registry
	consent.Registry
	jwk.Registry
	trust.Registry
	oauth2.Registry
	PrometheusManager() *prometheus.MetricsManager
	x.TracingProvider
	FlowCipher() *aead.XChaCha20Poly1305

	kratos.Provider

	RegisterRoutes(ctx context.Context, admin *httprouterx.RouterAdmin, public *httprouterx.RouterPublic)
	ClientHandler() *client.Handler
	KeyHandler() *jwk.Handler
	ConsentHandler() *consent.Handler
	OAuth2Handler() *oauth2.Handler
	HealthHandler() *healthx.Handler
	OAuth2AwareMiddleware() func(h http.Handler) http.Handler

	OAuth2HMACStrategy() *foauth2.HMACSHAStrategy
	WithOAuth2Provider(f fosite.OAuth2Provider)
	WithConsentStrategy(c consent.Strategy)
	WithHsmContext(h hsm.Context)
}

func NewRegistryFromDSN

func NewRegistryFromDSN(ctx context.Context, c *config.DefaultProvider, l *logrusx.Logger, skipNetworkInit bool, migrate bool, ctxer contextx.Contextualizer) (Registry, error)

func NewRegistryWithoutInit

func NewRegistryWithoutInit(c *config.DefaultProvider, l *logrusx.Logger) (Registry, error)

type RegistryBase

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

func (*RegistryBase) AccessRequestHooks

func (m *RegistryBase) AccessRequestHooks() []oauth2.AccessRequestHook

func (*RegistryBase) AccessTokenJWTStrategy

func (m *RegistryBase) AccessTokenJWTStrategy() jwk.JWTSigner

func (*RegistryBase) AudienceStrategy

func (m *RegistryBase) AudienceStrategy() fosite.AudienceMatchingStrategy

func (*RegistryBase) AuditLogger

func (m *RegistryBase) AuditLogger() *logrusx.Logger

func (*RegistryBase) BuildDate

func (m *RegistryBase) BuildDate() string

func (*RegistryBase) BuildHash

func (m *RegistryBase) BuildHash() string

func (*RegistryBase) BuildVersion

func (m *RegistryBase) BuildVersion() string

func (*RegistryBase) ClientHandler

func (m *RegistryBase) ClientHandler() *client.Handler

func (*RegistryBase) ClientHasher

func (m *RegistryBase) ClientHasher() fosite.Hasher

func (*RegistryBase) ClientValidator

func (m *RegistryBase) ClientValidator() *client.Validator

func (*RegistryBase) Config

func (m *RegistryBase) Config() *config.DefaultProvider

Config returns the configuration for the given context. It may or may not be the same as the global configuration.

func (*RegistryBase) ConsentHandler

func (m *RegistryBase) ConsentHandler() *consent.Handler

func (*RegistryBase) ConsentStrategy

func (m *RegistryBase) ConsentStrategy() consent.Strategy

func (*RegistryBase) Contextualizer

func (m *RegistryBase) Contextualizer() contextx.Contextualizer

func (*RegistryBase) CookieStore

func (m *RegistryBase) CookieStore(ctx context.Context) (sessions.Store, error)

func (*RegistryBase) ExtraFositeFactories added in v2.2.0

func (m *RegistryBase) ExtraFositeFactories() []fositex.Factory

func (*RegistryBase) FlowCipher added in v2.2.0

func (m *RegistryBase) FlowCipher() *aead.XChaCha20Poly1305

func (*RegistryBase) GetJWKSFetcherStrategy

func (m *RegistryBase) GetJWKSFetcherStrategy() fosite.JWKSFetcherStrategy

func (*RegistryBase) GrantValidator

func (m *RegistryBase) GrantValidator() *trust.GrantValidator

func (*RegistryBase) HSMContext

func (m *RegistryBase) HSMContext() hsm.Context

func (*RegistryBase) HTTPClient

func (m *RegistryBase) HTTPClient(ctx context.Context, opts ...httpx.ResilientOptions) *retryablehttp.Client

func (*RegistryBase) HealthHandler

func (m *RegistryBase) HealthHandler() *healthx.Handler

func (*RegistryBase) JWTGrantHandler

func (m *RegistryBase) JWTGrantHandler() *trust.Handler

func (*RegistryBase) KeyCipher

func (m *RegistryBase) KeyCipher() *aead.AESGCM

func (*RegistryBase) KeyHandler

func (m *RegistryBase) KeyHandler() *jwk.Handler

func (*RegistryBase) Kratos added in v2.2.0

func (m *RegistryBase) Kratos() kratos.Client

func (*RegistryBase) Logger

func (m *RegistryBase) Logger() *logrusx.Logger

func (*RegistryBase) OAuth2AwareMiddleware

func (m *RegistryBase) OAuth2AwareMiddleware() func(h http.Handler) http.Handler

func (*RegistryBase) OAuth2Config

func (m *RegistryBase) OAuth2Config() *fositex.Config

func (*RegistryBase) OAuth2HMACStrategy

func (m *RegistryBase) OAuth2HMACStrategy() *foauth2.HMACSHAStrategy

func (*RegistryBase) OAuth2Handler

func (m *RegistryBase) OAuth2Handler() *oauth2.Handler

func (*RegistryBase) OAuth2Provider

func (m *RegistryBase) OAuth2Provider() fosite.OAuth2Provider

func (*RegistryBase) OAuth2ProviderConfig

func (m *RegistryBase) OAuth2ProviderConfig() fosite.Configurator

func (*RegistryBase) OpenIDConnectRequestValidator

func (m *RegistryBase) OpenIDConnectRequestValidator() *openid.OpenIDConnectRequestValidator

func (*RegistryBase) OpenIDJWTStrategy

func (m *RegistryBase) OpenIDJWTStrategy() jwk.JWTSigner

func (*RegistryBase) Persister

func (m *RegistryBase) Persister() persistence.Persister

func (*RegistryBase) PrometheusManager

func (m *RegistryBase) PrometheusManager() *prometheus.MetricsManager

func (*RegistryBase) RegisterRoutes

func (m *RegistryBase) RegisterRoutes(ctx context.Context, admin *httprouterx.RouterAdmin, public *httprouterx.RouterPublic)

func (*RegistryBase) SubjectIdentifierAlgorithm

func (m *RegistryBase) SubjectIdentifierAlgorithm(ctx context.Context) map[string]consent.SubjectIdentifierAlgorithm

func (*RegistryBase) Tracer

func (m *RegistryBase) Tracer(_ context.Context) *otelx.Tracer

func (*RegistryBase) WithBuildInfo

func (m *RegistryBase) WithBuildInfo(version, hash, date string) Registry

func (*RegistryBase) WithConfig

func (m *RegistryBase) WithConfig(c *config.DefaultProvider) Registry

func (*RegistryBase) WithConsentStrategy

func (m *RegistryBase) WithConsentStrategy(c consent.Strategy)

WithConsentStrategy forces a consent strategy which is only used for testing.

func (*RegistryBase) WithContextualizer

func (m *RegistryBase) WithContextualizer(ctxer contextx.Contextualizer) Registry

func (*RegistryBase) WithExtraFositeFactories added in v2.2.0

func (m *RegistryBase) WithExtraFositeFactories(f []fositex.Factory) Registry

func (*RegistryBase) WithHsmContext

func (m *RegistryBase) WithHsmContext(h hsm.Context)

func (*RegistryBase) WithKratos added in v2.2.0

func (m *RegistryBase) WithKratos(k kratos.Client) Registry

func (*RegistryBase) WithLogger

func (m *RegistryBase) WithLogger(l *logrusx.Logger) Registry

func (*RegistryBase) WithOAuth2Provider

func (m *RegistryBase) WithOAuth2Provider(f fosite.OAuth2Provider)

WithOAuth2Provider forces an oauth2 provider which is only used for testing.

func (*RegistryBase) WithTracer added in v2.2.0

func (m *RegistryBase) WithTracer(t trace.Tracer) Registry

func (*RegistryBase) WithTracerWrapper added in v2.2.0

func (m *RegistryBase) WithTracerWrapper(wrapper TracerWrapper) Registry

func (*RegistryBase) Writer

func (m *RegistryBase) Writer() herodot.Writer

type RegistrySQL

type RegistrySQL struct {
	*RegistryBase
	// contains filtered or unexported fields
}

func NewRegistrySQL

func NewRegistrySQL() *RegistrySQL

func (*RegistrySQL) CanHandle

func (m *RegistrySQL) CanHandle(dsn string) bool

func (*RegistrySQL) ClientAuthenticator

func (m *RegistrySQL) ClientAuthenticator() x.ClientAuthenticator

func (*RegistrySQL) ClientManager

func (m *RegistrySQL) ClientManager() client.Manager

func (*RegistrySQL) ConsentManager

func (m *RegistrySQL) ConsentManager() consent.Manager

func (*RegistrySQL) GrantManager

func (m *RegistrySQL) GrantManager() trust.GrantManager

func (*RegistrySQL) Init

func (m *RegistrySQL) Init(
	ctx context.Context,
	skipNetworkInit bool,
	migrate bool,
	ctxer contextx.Contextualizer,
	extraMigrations []fs.FS,
	goMigrations []popx.Migration,
) error

func (*RegistrySQL) KeyManager

func (m *RegistrySQL) KeyManager() jwk.Manager

func (*RegistrySQL) OAuth2Storage

func (m *RegistrySQL) OAuth2Storage() x.FositeStorer

func (*RegistrySQL) Ping

func (m *RegistrySQL) Ping() error

func (*RegistrySQL) SoftwareKeyManager

func (m *RegistrySQL) SoftwareKeyManager() jwk.Manager

type TracerWrapper added in v2.2.0

type TracerWrapper func(*otelx.Tracer) *otelx.Tracer

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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