Files
upstream-mirror c60cc7ca75
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
snapshot of https://github.com/ory/kratos.git (master, 2026-09-15; blobs > 131072B omitted)
2026-09-15 21:19:12 +05:00

90 lines
2.2 KiB
Go

// Copyright © 2023 Ory Corp
// SPDX-License-Identifier: Apache-2.0
package link
import (
"github.com/ory/kratos/courier"
"github.com/ory/kratos/driver/config"
"github.com/ory/kratos/identity"
"github.com/ory/kratos/schema"
"github.com/ory/kratos/selfservice/errorx"
"github.com/ory/kratos/selfservice/flow/recovery"
"github.com/ory/kratos/selfservice/flow/settings"
"github.com/ory/kratos/selfservice/flow/verification"
"github.com/ory/kratos/session"
"github.com/ory/kratos/ui/container"
"github.com/ory/kratos/ui/node"
"github.com/ory/kratos/x"
"github.com/ory/kratos/x/nosurfx"
"github.com/ory/kratos/x/transaction"
"github.com/ory/x/clock"
"github.com/ory/x/httpx"
"github.com/ory/x/logrusx"
"github.com/ory/x/otelx"
)
var (
_ recovery.Strategy = (*Strategy)(nil)
_ verification.Strategy = (*Strategy)(nil)
_ x.Handler = (*Strategy)(nil)
)
type (
// FlowMethod contains the configuration for this selfservice strategy.
FlowMethod struct {
*container.Container
}
dependencies interface {
clock.Provider
nosurfx.CSRFProvider
nosurfx.CSRFTokenGeneratorProvider
httpx.WriterProvider
logrusx.Provider
otelx.Provider
transaction.PersistenceProvider
config.Provider
session.HandlerProvider
session.ManagementProvider
session.PersistenceProvider
settings.HandlerProvider
settings.FlowPersistenceProvider
settings.HookExecutorProvider
identity.ValidationProvider
identity.ManagementProvider
identity.PoolProvider
identity.PrivilegedPoolProvider
identity.PendingTraitsChangePersistenceProvider
courier.Provider
errorx.ManagementProvider
recovery.ErrorHandlerProvider
recovery.FlowPersistenceProvider
recovery.StrategyProvider
recovery.HookExecutorProvider
verification.ErrorHandlerProvider
verification.FlowPersistenceProvider
verification.StrategyProvider
verification.HookExecutorProvider
verification.HandlerProvider
RecoveryTokenPersistenceProvider
VerificationTokenPersistenceProvider
SenderProvider
schema.IdentitySchemaProvider
}
Strategy struct{ d dependencies }
)
func NewStrategy(d dependencies) *Strategy { return &Strategy{d: d} }
func (s *Strategy) NodeGroup() node.UiNodeGroup { return node.LinkGroup }