Documentation ¶
Index ¶
- Constants
- Variables
- func PostHookPostPersistExecutorNames(e []PostHookPostPersistExecutor) []string
- func SortNodes(n node.Nodes, schemaRef string) error
- type APIFlowResponse
- type ErrorHandler
- type ErrorHandlerProvider
- type Flow
- type FlowExpiredError
- type FlowPersistenceProvider
- type FlowPersister
- type Handler
- type HandlerProvider
- type HookExecutor
- type HookExecutorProvider
- type HooksProvider
- type PostHookPostPersistExecutor
- type PostHookPostPersistExecutorFunc
- type PostHookPrePersistExecutor
- type PostHookPrePersistExecutorFunc
- type PreHookExecutor
- type PreHookExecutorFunc
- type Strategies
- type Strategy
- type StrategyProvider
Constants ¶
View Source
const ( RouteInitBrowserFlow = "/self-service/registration/browser" RouteInitAPIFlow = "/self-service/registration/api" RouteGetFlow = "/self-service/registration/flows" RouteSubmitFlow = "/self-service/registration" )
Variables ¶
View Source
var ( ErrHookAbortFlow = errors.New("aborted registration hook execution") ErrAlreadyLoggedIn = herodot.ErrBadRequest.WithReason("A valid session was detected and thus registration is not possible.") )
Functions ¶
func PostHookPostPersistExecutorNames ¶
func PostHookPostPersistExecutorNames(e []PostHookPostPersistExecutor) []string
Types ¶
type APIFlowResponse ¶
type APIFlowResponse struct { // The Session Token // // This field is only set when the session hook is configured as a post-registration hook. // // A session token is equivalent to a session cookie, but it can be sent in the HTTP Authorization // Header: // // Authorization: bearer ${session-token} // // The session token is only issued for API flows, not for Browser flows! Token string `json:"session_token,omitempty"` // The Session // // This field is only set when the session hook is configured as a post-registration hook. // // The session contains information about the user, the session device, and so on. // This is only available for API flows, not for Browser flows! Session *session.Session `json:"session,omitempty"` // The Identity // // The identity that just signed up. // // required: true Identity *identity.Identity `json:"identity"` }
The Response for Registration Flows via API
swagger:model successfulSelfServiceRegistrationWithoutBrowser
type ErrorHandler ¶
type ErrorHandler struct {
// contains filtered or unexported fields
}
func NewErrorHandler ¶
func NewErrorHandler(d errorHandlerDependencies) *ErrorHandler
func (*ErrorHandler) WriteFlowError ¶
func (s *ErrorHandler) WriteFlowError( w http.ResponseWriter, r *http.Request, f *Flow, group node.Group, err error, )
type ErrorHandlerProvider ¶
type ErrorHandlerProvider interface{ RegistrationFlowErrorHandler() *ErrorHandler }
type Flow ¶
type Flow struct { // ID represents the flow's unique ID. When performing the registration flow, this // represents the id in the registration ui's query parameter: http://<selfservice.flows.registration.ui_url>/?flow=<id> // // required: true ID uuid.UUID `json:"id" faker:"-" db:"id"` // 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 log in, // 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" faker:"url" db:"request_url"` // Active, if set, contains the registration method that is being used. It is initially // not set. Active identity.CredentialsType `json:"active,omitempty" faker:"identity_credentials_type" db:"active_method"` // UI contains data which must be shown in the user interface. // // required: true UI *container.Container `json:"ui" db:"ui"` // 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"` // CSRFToken contains the anti-csrf token associated with this flow. Only set for browser flows. CSRFToken string `json:"-" db:"csrf_token"` NID uuid.UUID `json:"-" faker:"-" db:"nid"` }
swagger:model selfServiceRegistrationFlow
func (*Flow) GetRequestURL ¶
type FlowExpiredError ¶
type FlowExpiredError struct { *herodot.DefaultError // contains filtered or unexported fields }
func NewFlowExpiredError ¶
func NewFlowExpiredError(at time.Time) *FlowExpiredError
type FlowPersistenceProvider ¶
type FlowPersistenceProvider interface {
RegistrationFlowPersister() FlowPersister
}
type FlowPersister ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
func NewHandler ¶
func NewHandler(d handlerDependencies) *Handler
func (*Handler) NewRegistrationFlow ¶
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 {
RegistrationHandler() *Handler
}
type HookExecutor ¶
type HookExecutor struct {
// contains filtered or unexported fields
}
func NewHookExecutor ¶
func NewHookExecutor(d executorDependencies) *HookExecutor
func (*HookExecutor) PostRegistrationHook ¶
func (e *HookExecutor) PostRegistrationHook(w http.ResponseWriter, r *http.Request, ct identity.CredentialsType, a *Flow, i *identity.Identity) error
func (*HookExecutor) PreRegistrationHook ¶
func (e *HookExecutor) PreRegistrationHook(w http.ResponseWriter, r *http.Request, a *Flow) error
type HookExecutorProvider ¶
type HookExecutorProvider interface {
RegistrationExecutor() *HookExecutor
}
type HooksProvider ¶
type HooksProvider interface { PreRegistrationHooks(ctx context.Context) []PreHookExecutor PostRegistrationPrePersistHooks(ctx context.Context, credentialsType identity.CredentialsType) []PostHookPrePersistExecutor PostRegistrationPostPersistHooks(ctx context.Context, credentialsType identity.CredentialsType) []PostHookPostPersistExecutor }
type PostHookPostPersistExecutorFunc ¶
type PostHookPostPersistExecutorFunc func(w http.ResponseWriter, r *http.Request, a *Flow, s *session.Session) error
func (PostHookPostPersistExecutorFunc) ExecutePostRegistrationPostPersistHook ¶
func (f PostHookPostPersistExecutorFunc) ExecutePostRegistrationPostPersistHook(w http.ResponseWriter, r *http.Request, a *Flow, s *session.Session) error
type PostHookPrePersistExecutorFunc ¶
type PostHookPrePersistExecutorFunc func(w http.ResponseWriter, r *http.Request, a *Flow, i *identity.Identity) error
func (PostHookPrePersistExecutorFunc) ExecutePostRegistrationPrePersistHook ¶
func (f PostHookPrePersistExecutorFunc) ExecutePostRegistrationPrePersistHook(w http.ResponseWriter, r *http.Request, a *Flow, i *identity.Identity) error
type PreHookExecutor ¶
type PreHookExecutorFunc ¶
func (PreHookExecutorFunc) ExecuteRegistrationPreHook ¶
func (f PreHookExecutorFunc) ExecuteRegistrationPreHook(w http.ResponseWriter, r *http.Request, a *Flow) error
type Strategies ¶
type Strategies []Strategy
func (Strategies) MustStrategy ¶
func (s Strategies) MustStrategy(id identity.CredentialsType) Strategy
func (Strategies) RegisterPublicRoutes ¶
func (s Strategies) RegisterPublicRoutes(r *x.RouterPublic)
func (Strategies) Strategy ¶
func (s Strategies) Strategy(id identity.CredentialsType) (Strategy, error)
type StrategyProvider ¶
type StrategyProvider interface { RegistrationStrategies(ctx context.Context) Strategies AllRegistrationStrategies() Strategies }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.