driver

package
v1.1.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SkipNetworkInit

func SkipNetworkInit(o *options)

Types

type NewStrategy added in v1.1.0

type NewStrategy func(deps any) any

type Registry

type Registry interface {
	dbal.Driver

	Init(ctx context.Context, ctxer contextx.Contextualizer, opts ...RegistryOption) error

	WithLogger(l *logrusx.Logger) Registry
	WithJsonnetVMProvider(jsonnetsecure.VMProvider) Registry

	WithCSRFHandler(c nosurf.Handler)
	WithCSRFTokenGenerator(cg x.CSRFToken)

	MetricsHandler() *prometheus.Handler
	HealthHandler(ctx context.Context) *healthx.Handler
	CookieManager(ctx context.Context) sessions.StoreExact
	ContinuityCookieManager(ctx context.Context) sessions.StoreExact

	RegisterRoutes(ctx context.Context, public *x.RouterPublic, admin *x.RouterAdmin)
	RegisterPublicRoutes(ctx context.Context, public *x.RouterPublic)
	RegisterAdminRoutes(ctx context.Context, admin *x.RouterAdmin)
	PrometheusManager() *prometheus.MetricsManager
	Tracer(context.Context) *otelx.Tracer
	SetTracer(*otelx.Tracer)

	config.Provider
	CourierConfig() config.CourierConfigs
	WithConfig(c *config.Config) Registry
	WithContextualizer(ctxer contextx.Contextualizer) Registry

	x.CSRFProvider
	x.WriterProvider
	x.LoggingProvider
	x.HTTPClientProvider
	jsonnetsecure.VMProvider

	continuity.ManagementProvider
	continuity.PersistenceProvider

	courier.Provider

	persistence.Provider

	errorx.ManagementProvider
	errorx.HandlerProvider
	errorx.PersistenceProvider

	hash.HashProvider

	identity.HandlerProvider
	identity.ValidationProvider
	identity.PoolProvider
	identity.PrivilegedPoolProvider
	identity.ManagementProvider
	identity.ActiveCredentialsCounterStrategyProvider

	courier.HandlerProvider
	courier.PersistenceProvider

	schema.HandlerProvider
	schema.IdentityTraitsProvider

	password2.ValidationProvider

	session.HandlerProvider
	session.ManagementProvider
	session.PersistenceProvider
	session.TokenizerProvider

	settings.HandlerProvider
	settings.ErrorHandlerProvider
	settings.FlowPersistenceProvider
	settings.StrategyProvider

	login.FlowPersistenceProvider
	login.ErrorHandlerProvider
	login.HooksProvider
	login.HookExecutorProvider
	login.HandlerProvider
	login.StrategyProvider

	logout.HandlerProvider

	registration.FlowPersistenceProvider
	registration.ErrorHandlerProvider
	registration.HooksProvider
	registration.HookExecutorProvider
	registration.HandlerProvider
	registration.StrategyProvider

	verification.FlowPersistenceProvider
	verification.ErrorHandlerProvider
	verification.HandlerProvider
	verification.StrategyProvider

	sessiontokenexchange.PersistenceProvider

	link.SenderProvider
	link.VerificationTokenPersistenceProvider
	link.RecoveryTokenPersistenceProvider

	code.SenderProvider
	code.RecoveryCodePersistenceProvider

	recovery.FlowPersistenceProvider
	recovery.ErrorHandlerProvider
	recovery.HandlerProvider
	recovery.StrategyProvider

	x.CSRFTokenGeneratorProvider
}

func New

func New(ctx context.Context, stdOutOrErr io.Writer, sl *servicelocatorx.Options, dOpts []RegistryOption, opts []configx.OptionModifier) (Registry, error)

func NewRegistryFromDSN

func NewRegistryFromDSN(ctx context.Context, c *config.Config, l *logrusx.Logger) (Registry, error)

func NewWithoutInit

func NewWithoutInit(ctx context.Context, stdOutOrErr io.Writer, sl *servicelocatorx.Options, dOpts []RegistryOption, opts []configx.OptionModifier) (Registry, error)

type RegistryDefault

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

func NewRegistryDefault

func NewRegistryDefault() *RegistryDefault

func (*RegistryDefault) ActiveCredentialsCounterStrategies

func (m *RegistryDefault) ActiveCredentialsCounterStrategies(_ context.Context) (activeCredentialsCounterStrategies []identity.ActiveCredentialsCounter)

func (*RegistryDefault) AllLoginStrategies

func (m *RegistryDefault) AllLoginStrategies() login.Strategies

func (*RegistryDefault) AllRecoveryStrategies

func (m *RegistryDefault) AllRecoveryStrategies() (recoveryStrategies recovery.Strategies)

func (*RegistryDefault) AllRegistrationStrategies

func (m *RegistryDefault) AllRegistrationStrategies() registration.Strategies

func (*RegistryDefault) AllSettingsStrategies

func (m *RegistryDefault) AllSettingsStrategies() settings.Strategies

func (*RegistryDefault) AllVerificationStrategies

func (m *RegistryDefault) AllVerificationStrategies() (verificationStrategies verification.Strategies)

func (*RegistryDefault) Audit

func (m *RegistryDefault) Audit() *logrusx.Logger

func (*RegistryDefault) CSRFHandler

func (m *RegistryDefault) CSRFHandler() nosurf.Handler

func (*RegistryDefault) CanHandle

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

func (*RegistryDefault) Cipher

func (m *RegistryDefault) Cipher(ctx context.Context) cipher.Cipher

func (*RegistryDefault) CodeSender added in v0.11.0

func (m *RegistryDefault) CodeSender() *code.Sender

func (*RegistryDefault) Config

func (m *RegistryDefault) Config() *config.Config

func (*RegistryDefault) Contextualizer added in v0.11.0

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

func (*RegistryDefault) ContinuityCookieManager

func (m *RegistryDefault) ContinuityCookieManager(ctx context.Context) sessions.StoreExact

func (*RegistryDefault) ContinuityManager

func (m *RegistryDefault) ContinuityManager() continuity.Manager

func (*RegistryDefault) ContinuityPersister

func (m *RegistryDefault) ContinuityPersister() continuity.Persister

func (*RegistryDefault) CookieManager

func (m *RegistryDefault) CookieManager(ctx context.Context) sessions.StoreExact

func (*RegistryDefault) Courier

func (m *RegistryDefault) Courier(ctx context.Context) (courier.Courier, error)

func (*RegistryDefault) CourierConfig

func (m *RegistryDefault) CourierConfig() config.CourierConfigs

func (*RegistryDefault) CourierHandler added in v0.11.0

func (m *RegistryDefault) CourierHandler() *courier.Handler

func (*RegistryDefault) CourierPersister

func (m *RegistryDefault) CourierPersister() courier.Persister

func (*RegistryDefault) GenerateCSRFToken

func (m *RegistryDefault) GenerateCSRFToken(r *http.Request) string

func (*RegistryDefault) GetActiveRecoveryStrategy added in v0.11.0

func (m *RegistryDefault) GetActiveRecoveryStrategy(ctx context.Context) (recovery.Strategy, error)

GetActiveRecoveryStrategy returns the currently active recovery strategy If no recovery strategy has been set, an error is returned

func (*RegistryDefault) GetActiveVerificationStrategy added in v0.11.0

func (m *RegistryDefault) GetActiveVerificationStrategy(ctx context.Context) (verification.Strategy, error)

GetActiveVerificationStrategy returns the currently active verification strategy If no verification strategy has been set, an error is returned

func (*RegistryDefault) HTTPClient

func (m *RegistryDefault) HTTPClient(_ context.Context, opts ...httpx.ResilientOptions) *retryablehttp.Client

func (*RegistryDefault) Hasher

func (m *RegistryDefault) Hasher(ctx context.Context) hash.Hasher

func (*RegistryDefault) HealthHandler

func (m *RegistryDefault) HealthHandler(_ context.Context) *healthx.Handler

func (*RegistryDefault) HookAddressVerifier

func (m *RegistryDefault) HookAddressVerifier() *hook.AddressVerifier

func (*RegistryDefault) HookCodeAddressVerifier added in v1.1.0

func (m *RegistryDefault) HookCodeAddressVerifier() *hook.CodeAddressVerifier

func (*RegistryDefault) HookSessionDestroyer

func (m *RegistryDefault) HookSessionDestroyer() *hook.SessionDestroyer

func (*RegistryDefault) HookSessionIssuer

func (m *RegistryDefault) HookSessionIssuer() *hook.SessionIssuer

func (*RegistryDefault) HookShowVerificationUI added in v0.13.0

func (m *RegistryDefault) HookShowVerificationUI() *hook.ShowVerificationUIHook

func (*RegistryDefault) HookVerifier

func (m *RegistryDefault) HookVerifier() *hook.Verifier

func (*RegistryDefault) Hydra added in v0.11.0

func (m *RegistryDefault) Hydra() hydra.Hydra

func (*RegistryDefault) IdentityHandler

func (m *RegistryDefault) IdentityHandler() *identity.Handler

func (*RegistryDefault) IdentityManager

func (m *RegistryDefault) IdentityManager() *identity.Manager

func (*RegistryDefault) IdentityPool

func (m *RegistryDefault) IdentityPool() identity.Pool

func (*RegistryDefault) IdentityTraitsSchemas

func (m *RegistryDefault) IdentityTraitsSchemas(ctx context.Context) (schema.Schemas, error)

func (*RegistryDefault) IdentityValidator

func (m *RegistryDefault) IdentityValidator() *identity.Validator

func (*RegistryDefault) Init

func (*RegistryDefault) JWKSFetcher added in v1.1.0

func (m *RegistryDefault) JWKSFetcher() *jwksx.FetcherNext

func (*RegistryDefault) JsonnetVM added in v0.11.0

func (m *RegistryDefault) JsonnetVM(ctx context.Context) (jsonnetsecure.VM, error)

func (*RegistryDefault) LinkSender

func (m *RegistryDefault) LinkSender() *link.Sender

func (*RegistryDefault) Logger

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

func (*RegistryDefault) LoginCodePersister added in v1.1.0

func (m *RegistryDefault) LoginCodePersister() code.LoginCodePersister

func (*RegistryDefault) LoginFlowErrorHandler

func (m *RegistryDefault) LoginFlowErrorHandler() *login.ErrorHandler

func (*RegistryDefault) LoginFlowPersister

func (m *RegistryDefault) LoginFlowPersister() login.FlowPersister

func (*RegistryDefault) LoginHandler

func (m *RegistryDefault) LoginHandler() *login.Handler

func (*RegistryDefault) LoginHookExecutor

func (m *RegistryDefault) LoginHookExecutor() *login.HookExecutor

func (*RegistryDefault) LoginStrategies

func (m *RegistryDefault) LoginStrategies(ctx context.Context, filters ...login.StrategyFilter) (loginStrategies login.Strategies)

func (*RegistryDefault) LogoutHandler

func (m *RegistryDefault) LogoutHandler() *logout.Handler

func (*RegistryDefault) MetricsHandler

func (m *RegistryDefault) MetricsHandler() *prometheus.Handler

func (*RegistryDefault) PasswordValidator

func (m *RegistryDefault) PasswordValidator() password.Validator

func (*RegistryDefault) Persister

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

func (*RegistryDefault) Ping

func (m *RegistryDefault) Ping() error

func (*RegistryDefault) PostLoginHooks

func (m *RegistryDefault) PostLoginHooks(ctx context.Context, credentialsType identity.CredentialsType) (b []login.PostHookExecutor)

func (*RegistryDefault) PostRecoveryHooks

func (m *RegistryDefault) PostRecoveryHooks(ctx context.Context) (b []recovery.PostHookExecutor)

func (*RegistryDefault) PostRegistrationPostPersistHooks

func (m *RegistryDefault) PostRegistrationPostPersistHooks(ctx context.Context, credentialsType identity.CredentialsType) (b []registration.PostHookPostPersistExecutor)

func (*RegistryDefault) PostRegistrationPrePersistHooks

func (m *RegistryDefault) PostRegistrationPrePersistHooks(ctx context.Context, credentialsType identity.CredentialsType) (b []registration.PostHookPrePersistExecutor)

func (*RegistryDefault) PostSettingsPostPersistHooks

func (m *RegistryDefault) PostSettingsPostPersistHooks(ctx context.Context, settingsType string) (b []settings.PostHookPostPersistExecutor)

func (*RegistryDefault) PostSettingsPrePersistHooks

func (m *RegistryDefault) PostSettingsPrePersistHooks(ctx context.Context, settingsType string) (b []settings.PostHookPrePersistExecutor)

func (*RegistryDefault) PostVerificationHooks

func (m *RegistryDefault) PostVerificationHooks(ctx context.Context) (b []verification.PostHookExecutor)

func (*RegistryDefault) PreLoginHooks

func (m *RegistryDefault) PreLoginHooks(ctx context.Context) (b []login.PreHookExecutor)

func (*RegistryDefault) PreRecoveryHooks added in v0.11.0

func (m *RegistryDefault) PreRecoveryHooks(ctx context.Context) (b []recovery.PreHookExecutor)

func (*RegistryDefault) PreRegistrationHooks

func (m *RegistryDefault) PreRegistrationHooks(ctx context.Context) (b []registration.PreHookExecutor)

func (*RegistryDefault) PreSettingsHooks added in v0.11.0

func (m *RegistryDefault) PreSettingsHooks(ctx context.Context) (b []settings.PreHookExecutor)

func (*RegistryDefault) PreVerificationHooks added in v0.11.0

func (m *RegistryDefault) PreVerificationHooks(ctx context.Context) (b []verification.PreHookExecutor)

func (*RegistryDefault) PrivilegedIdentityPool

func (m *RegistryDefault) PrivilegedIdentityPool() identity.PrivilegedPool

func (*RegistryDefault) PrometheusManager

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

func (*RegistryDefault) RecoveryCodePersister added in v0.11.0

func (m *RegistryDefault) RecoveryCodePersister() code.RecoveryCodePersister

func (*RegistryDefault) RecoveryExecutor

func (m *RegistryDefault) RecoveryExecutor() *recovery.HookExecutor

func (*RegistryDefault) RecoveryFlowErrorHandler

func (m *RegistryDefault) RecoveryFlowErrorHandler() *recovery.ErrorHandler

func (*RegistryDefault) RecoveryFlowPersister

func (m *RegistryDefault) RecoveryFlowPersister() recovery.FlowPersister

func (*RegistryDefault) RecoveryHandler

func (m *RegistryDefault) RecoveryHandler() *recovery.Handler

func (*RegistryDefault) RecoveryStrategies

func (m *RegistryDefault) RecoveryStrategies(ctx context.Context) (recoveryStrategies recovery.Strategies)

func (*RegistryDefault) RecoveryTokenPersister

func (m *RegistryDefault) RecoveryTokenPersister() link.RecoveryTokenPersister

func (*RegistryDefault) RegisterAdminRoutes

func (m *RegistryDefault) RegisterAdminRoutes(ctx context.Context, router *x.RouterAdmin)

func (*RegistryDefault) RegisterPublicRoutes

func (m *RegistryDefault) RegisterPublicRoutes(ctx context.Context, router *x.RouterPublic)

func (*RegistryDefault) RegisterRoutes

func (m *RegistryDefault) RegisterRoutes(ctx context.Context, public *x.RouterPublic, admin *x.RouterAdmin)

func (*RegistryDefault) RegistrationCodePersister added in v1.1.0

func (m *RegistryDefault) RegistrationCodePersister() code.RegistrationCodePersister

func (*RegistryDefault) RegistrationErrorHandler

func (m *RegistryDefault) RegistrationErrorHandler() *registration.ErrorHandler

func (*RegistryDefault) RegistrationExecutor

func (m *RegistryDefault) RegistrationExecutor() *registration.HookExecutor

func (*RegistryDefault) RegistrationFlowErrorHandler

func (m *RegistryDefault) RegistrationFlowErrorHandler() *registration.ErrorHandler

func (*RegistryDefault) RegistrationFlowPersister

func (m *RegistryDefault) RegistrationFlowPersister() registration.FlowPersister

func (*RegistryDefault) RegistrationHandler

func (m *RegistryDefault) RegistrationHandler() *registration.Handler

func (*RegistryDefault) RegistrationHookExecutor

func (m *RegistryDefault) RegistrationHookExecutor() *registration.HookExecutor

func (*RegistryDefault) RegistrationStrategies

func (m *RegistryDefault) RegistrationStrategies(ctx context.Context, filters ...registration.StrategyFilter) (registrationStrategies registration.Strategies)

func (*RegistryDefault) SchemaHandler

func (m *RegistryDefault) SchemaHandler() *schema.Handler

func (*RegistryDefault) SelfServiceErrorHandler

func (m *RegistryDefault) SelfServiceErrorHandler() *errorx.Handler

func (*RegistryDefault) SelfServiceErrorManager

func (m *RegistryDefault) SelfServiceErrorManager() *errorx.Manager

func (*RegistryDefault) SelfServiceErrorPersister

func (m *RegistryDefault) SelfServiceErrorPersister() errorx.Persister

func (*RegistryDefault) SessionHandler

func (m *RegistryDefault) SessionHandler() *session.Handler

func (*RegistryDefault) SessionManager

func (m *RegistryDefault) SessionManager() session.Manager

func (*RegistryDefault) SessionPersister

func (m *RegistryDefault) SessionPersister() session.Persister

func (*RegistryDefault) SessionTokenExchangePersister added in v1.0.0

func (m *RegistryDefault) SessionTokenExchangePersister() sessiontokenexchange.Persister

func (*RegistryDefault) SessionTokenizer added in v1.1.0

func (m *RegistryDefault) SessionTokenizer() *session.Tokenizer

func (*RegistryDefault) SetPersister

func (m *RegistryDefault) SetPersister(p persistence.Persister)

func (*RegistryDefault) SetTracer added in v0.11.0

func (m *RegistryDefault) SetTracer(t *otelx.Tracer)

func (*RegistryDefault) SettingsFlowErrorHandler

func (m *RegistryDefault) SettingsFlowErrorHandler() *settings.ErrorHandler

func (*RegistryDefault) SettingsFlowPersister

func (m *RegistryDefault) SettingsFlowPersister() settings.FlowPersister

func (*RegistryDefault) SettingsHandler

func (m *RegistryDefault) SettingsHandler() *settings.Handler

func (*RegistryDefault) SettingsHookExecutor

func (m *RegistryDefault) SettingsHookExecutor() *settings.HookExecutor

func (*RegistryDefault) SettingsStrategies

func (m *RegistryDefault) SettingsStrategies(ctx context.Context) (profileStrategies settings.Strategies)

func (*RegistryDefault) Tracer

func (m *RegistryDefault) Tracer(ctx context.Context) *otelx.Tracer

func (*RegistryDefault) VerificationCodePersister added in v0.11.0

func (m *RegistryDefault) VerificationCodePersister() code.VerificationCodePersister

func (*RegistryDefault) VerificationExecutor

func (m *RegistryDefault) VerificationExecutor() *verification.HookExecutor

func (*RegistryDefault) VerificationFlowErrorHandler

func (m *RegistryDefault) VerificationFlowErrorHandler() *verification.ErrorHandler

func (*RegistryDefault) VerificationFlowPersister

func (m *RegistryDefault) VerificationFlowPersister() verification.FlowPersister

func (*RegistryDefault) VerificationHandler

func (m *RegistryDefault) VerificationHandler() *verification.Handler

func (*RegistryDefault) VerificationManager

func (m *RegistryDefault) VerificationManager() *identity.Manager

func (*RegistryDefault) VerificationStrategies

func (m *RegistryDefault) VerificationStrategies(ctx context.Context) (verificationStrategies verification.Strategies)

func (*RegistryDefault) VerificationTokenPersister

func (m *RegistryDefault) VerificationTokenPersister() link.VerificationTokenPersister

func (*RegistryDefault) WithCSRFHandler

func (m *RegistryDefault) WithCSRFHandler(c nosurf.Handler)

func (*RegistryDefault) WithCSRFTokenGenerator

func (m *RegistryDefault) WithCSRFTokenGenerator(cg x.CSRFToken)

func (*RegistryDefault) WithConfig

func (m *RegistryDefault) WithConfig(c *config.Config) Registry

func (*RegistryDefault) WithContextualizer added in v0.11.0

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

func (*RegistryDefault) WithHooks

func (m *RegistryDefault) WithHooks(hooks map[string]func(config.SelfServiceHook) interface{})

func (*RegistryDefault) WithHydra added in v0.11.0

func (m *RegistryDefault) WithHydra(h hydra.Hydra) Registry

func (*RegistryDefault) WithJsonnetVMProvider added in v0.11.0

func (m *RegistryDefault) WithJsonnetVMProvider(p jsonnetsecure.VMProvider) Registry

func (*RegistryDefault) WithLogger

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

func (*RegistryDefault) WithSelfserviceStrategies added in v1.1.0

func (m *RegistryDefault) WithSelfserviceStrategies(t testing.TB, strategies []any) Registry

WithSelfserviceStrategies is only available in testing and overrides the selfservice strategies with the given ones.

func (*RegistryDefault) Writer

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

type RegistryOption

type RegistryOption func(*options)

func Inspect added in v0.13.0

func Inspect(f func(reg Registry) error) RegistryOption

func ReplaceTracer added in v0.11.0

func ReplaceTracer(f func(*otelx.Tracer) *otelx.Tracer) RegistryOption

func WithConfig added in v0.11.0

func WithConfig(config *config.Config) RegistryOption

func WithDisabledMigrationLogging added in v1.1.0

func WithDisabledMigrationLogging() RegistryOption

func WithExtraHooks added in v1.1.0

func WithExtraHooks(hooks map[string]func(config.SelfServiceHook) any) RegistryOption

func WithExtraMigrations added in v1.1.0

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

func WithJsonnetPool added in v1.1.0

func WithJsonnetPool(pool jsonnetsecure.Pool) RegistryOption

func WithReplaceStrategies added in v1.1.0

func WithReplaceStrategies(s ...NewStrategy) RegistryOption

WithReplaceStrategies adds a strategy to the registry. This is useful if you want to add a custom strategy to the registry. Default strategies with the same name/ID will be overwritten.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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