Documentation ¶
Index ¶
- Constants
- Variables
- func ContinuityKey(id string) string
- func ContinuityOptions(p interface{}, i *identity.Identity) []continuity.ManagerOption
- func GetFlowID(r *http.Request) (uuid.UUID, error)
- func OnUnauthenticated(reg interface{ ... }) func(http.ResponseWriter, *http.Request, httprouter.Params)
- func PostHookPostPersistExecutorNames(e []PostHookPostPersistExecutor) []string
- func PostHookPrePersistExecutorNames(e []PostHookPrePersistExecutor) []string
- func WithCallback(cb func(ctxUpdate *UpdateContext) error) func(o *postSettingsHookOptions)
- type APIFlowResponse
- type ErrorHandler
- type ErrorHandlerProvider
- type Flow
- type FlowExpiredError
- type FlowNeedsReAuth
- type FlowPersistenceProvider
- type FlowPersister
- type Handler
- type HandlerProvider
- type HookExecutor
- type HookExecutorProvider
- type HooksProvider
- type PostHookPostPersistExecutor
- type PostHookPostPersistExecutorFunc
- type PostHookPrePersistExecutor
- type PostHookPrePersistExecutorFunc
- type PostSettingsHookOption
- type State
- type Strategies
- type Strategy
- type StrategyProvider
- type UpdateContext
- type UpdatePayload
Constants ¶
View Source
const ( RouteInitBrowserFlow = "/self-service/settings/browser" RouteInitAPIFlow = "/self-service/settings/api" RouteGetFlow = "/self-service/settings/flows" RouteSubmitFlow = "/self-service/settings" ContinuityPrefix = "ory_kratos_settings" )
View Source
const (
StrategyProfile = "profile"
)
Variables ¶
View Source
var (
ErrContinuePreviousAction = errors.New("found prior action")
)
View Source
var (
ErrHookAbortRequest = errors.New("aborted settings hook execution")
)
Functions ¶
func ContinuityKey ¶
func ContinuityOptions ¶
func ContinuityOptions(p interface{}, i *identity.Identity) []continuity.ManagerOption
func OnUnauthenticated ¶
func OnUnauthenticated(reg interface { config.Provider x.WriterProvider }) func(http.ResponseWriter, *http.Request, httprouter.Params)
func PostHookPostPersistExecutorNames ¶
func PostHookPostPersistExecutorNames(e []PostHookPostPersistExecutor) []string
func PostHookPrePersistExecutorNames ¶
func PostHookPrePersistExecutorNames(e []PostHookPrePersistExecutor) []string
func WithCallback ¶
func WithCallback(cb func(ctxUpdate *UpdateContext) error) func(o *postSettingsHookOptions)
Types ¶
type APIFlowResponse ¶
type APIFlowResponse struct { // The Flow // // required: true Flow *Flow `json:"flow"` // The Identity // // The updated identity // // required: true Identity *identity.Identity `json:"identity"` }
The Response for Settings Flows via API
swagger:model settingsViaApiResponse
type ErrorHandler ¶
type ErrorHandler struct {
// contains filtered or unexported fields
}
func NewErrorHandler ¶
func NewErrorHandler(d errorHandlerDependencies) *ErrorHandler
func (*ErrorHandler) WriteFlowError ¶
type ErrorHandlerProvider ¶
type ErrorHandlerProvider interface{ SettingsFlowErrorHandler() *ErrorHandler }
type Flow ¶
type Flow struct { // ID represents the flow's unique ID. When performing the settings flow, this // represents the id in the settings ui's query parameter: http://<selfservice.flows.settings.ui_url>?flow=<id> // // required: true // type: string // format: uuid ID uuid.UUID `json:"id" db:"id" faker:"-"` // Type represents the flow's type which can be either "api" or "browser", depending on the flow interaction. Type flow.Type `json:"type" db:"type" faker:"flow_type"` // ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to update the setting, // a new flow has to be initiated. // // required: true ExpiresAt time.Time `json:"expires_at" faker:"time_type" db:"expires_at"` // IssuedAt is the time (UTC) when the flow occurred. // // required: true IssuedAt time.Time `json:"issued_at" faker:"time_type" db:"issued_at"` // RequestURL is the initial URL that was requested from Ory Kratos. It can be used // to forward information contained in the URL's path or query for example. // // required: true RequestURL string `json:"request_url" db:"request_url"` // Active, if set, contains the registration method that is being used. It is initially // not set. Active sqlxx.NullString `json:"active,omitempty" db:"active_method"` // UI contains data which must be shown in the user interface. // // required: true UI *container.Container `json:"ui" db:"ui"` // Identity contains all of the identity's data in raw form. // // required: true Identity *identity.Identity `json:"identity" faker:"identity" db:"-" belongs_to:"identities" fk_id:"IdentityID"` // State represents the state of this flow. It knows two states: // // - show_form: No user data has been collected, or it is invalid, and thus the form should be shown. // - success: Indicates that the settings flow has been updated successfully with the provided data. // Done will stay true when repeatedly checking. If set to true, done will revert back to false only // when a flow with invalid (e.g. "please use a valid phone number") data was sent. // // required: true State State `json:"state" faker:"-" db:"state"` // IdentityID is a helper struct field for gobuffalo.pop. IdentityID uuid.UUID `json:"-" faker:"-" db:"identity_id"` // CreatedAt is a helper struct field for gobuffalo.pop. CreatedAt time.Time `json:"-" faker:"-" db:"created_at"` // UpdatedAt is a helper struct field for gobuffalo.pop. UpdatedAt time.Time `json:"-" faker:"-" db:"updated_at"` NID uuid.UUID `json:"-" faker:"-" db:"nid"` }
Flow represents a Settings Flow
This flow is used when an identity wants to update settings (e.g. profile data, passwords, ...) in a selfservice manner.
We recommend reading the [User Settings Documentation](../self-service/flows/user-settings)
swagger:model settingsFlow
func (*Flow) GetRequestURL ¶
type FlowExpiredError ¶
type FlowExpiredError struct { *herodot.DefaultError // contains filtered or unexported fields }
func NewFlowExpiredError ¶
func NewFlowExpiredError(at time.Time) *FlowExpiredError
type FlowNeedsReAuth ¶
type FlowNeedsReAuth struct {
*herodot.DefaultError
}
func NewFlowNeedsReAuth ¶
func NewFlowNeedsReAuth() *FlowNeedsReAuth
type FlowPersistenceProvider ¶
type FlowPersistenceProvider interface {
SettingsFlowPersister() FlowPersister
}
type FlowPersister ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
func NewHandler ¶
func NewHandler(d handlerDependencies) *Handler
func (*Handler) RegisterAdminRoutes ¶
func (h *Handler) RegisterAdminRoutes(admin *x.RouterAdmin)
func (*Handler) RegisterPublicRoutes ¶
func (h *Handler) RegisterPublicRoutes(public *x.RouterPublic)
type HandlerProvider ¶
type HandlerProvider interface {
SettingsHandler() *Handler
}
type HookExecutor ¶
type HookExecutor struct {
// contains filtered or unexported fields
}
func NewHookExecutor ¶
func NewHookExecutor(d executorDependencies) *HookExecutor
func (*HookExecutor) PostSettingsHook ¶
func (e *HookExecutor) PostSettingsHook(w http.ResponseWriter, r *http.Request, settingsType string, ctxUpdate *UpdateContext, i *identity.Identity, opts ...PostSettingsHookOption) error
type HookExecutorProvider ¶
type HookExecutorProvider interface {
SettingsHookExecutor() *HookExecutor
}
type HooksProvider ¶
type HooksProvider interface { PostSettingsPrePersistHooks(ctx context.Context, settingsType string) []PostHookPrePersistExecutor PostSettingsPostPersistHooks(ctx context.Context, settingsType string) []PostHookPostPersistExecutor }
type PostHookPostPersistExecutorFunc ¶
type PostHookPostPersistExecutorFunc func(w http.ResponseWriter, r *http.Request, a *Flow, s *identity.Identity) error
func (PostHookPostPersistExecutorFunc) ExecuteSettingsPostPersistHook ¶
func (f PostHookPostPersistExecutorFunc) ExecuteSettingsPostPersistHook(w http.ResponseWriter, r *http.Request, a *Flow, s *identity.Identity) error
type PostHookPrePersistExecutorFunc ¶
type PostHookPrePersistExecutorFunc func(w http.ResponseWriter, r *http.Request, a *Flow, s *identity.Identity) error
func (PostHookPrePersistExecutorFunc) ExecuteSettingsPrePersistHook ¶
func (f PostHookPrePersistExecutorFunc) ExecuteSettingsPrePersistHook(w http.ResponseWriter, r *http.Request, a *Flow, s *identity.Identity) error
type PostSettingsHookOption ¶
type PostSettingsHookOption func(o *postSettingsHookOptions)
type Strategies ¶
type Strategies []Strategy
func (Strategies) MustStrategy ¶
func (s Strategies) MustStrategy(id string) Strategy
func (Strategies) RegisterPublicRoutes ¶
func (s Strategies) RegisterPublicRoutes(r *x.RouterPublic)
type StrategyProvider ¶
type StrategyProvider interface { SettingsStrategies(ctx context.Context) Strategies AllSettingsStrategies() Strategies }
type UpdateContext ¶
type UpdateContext struct { Session *session.Session Flow *Flow // contains filtered or unexported fields }
func PrepareUpdate ¶
func PrepareUpdate(d interface { x.LoggingProvider continuity.ManagementProvider }, w http.ResponseWriter, r *http.Request, f *Flow, ss *session.Session, name string, payload UpdatePayload) (*UpdateContext, error)
func (*UpdateContext) GetIdentityToUpdate ¶
func (c *UpdateContext) GetIdentityToUpdate() *identity.Identity
func (UpdateContext) GetSessionIdentity ¶
func (c UpdateContext) GetSessionIdentity() *identity.Identity
func (*UpdateContext) UpdateIdentity ¶
func (c *UpdateContext) UpdateIdentity(i *identity.Identity)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.