Documentation ¶
Index ¶
- Constants
- Variables
- func TestRequestPersister(p RequestPersister) func(t *testing.T)
- type ErrorHandler
- type ErrorHandlerProvider
- type Handler
- func (h *Handler) NewLoginRequest(w http.ResponseWriter, r *http.Request, redir func(request *Request) string) error
- func (h *Handler) RegisterAdminRoutes(admin *x.RouterAdmin)
- func (h *Handler) RegisterPublicRoutes(public *x.RouterPublic)
- func (h *Handler) WithTokenGenerator(f func(r *http.Request) string)
- type HandlerProvider
- type HookExecutor
- type HookExecutorProvider
- type HooksProvider
- type PostHookExecutor
- type PreHookExecutor
- type Request
- func (r *Request) AfterCreate(c *pop.Connection) error
- func (r *Request) AfterFind(_ *pop.Connection) error
- func (r *Request) AfterUpdate(c *pop.Connection) error
- func (r *Request) BeforeSave(_ *pop.Connection) error
- func (r *Request) GetID() uuid.UUID
- func (r Request) TableName() string
- func (r *Request) Valid() error
- type RequestMethod
- type RequestMethodConfig
- type RequestMethodConfigurator
- type RequestMethods
- type RequestMethodsRaw
- type RequestPersistenceProvider
- type RequestPersister
- type Strategies
- type Strategy
- type StrategyProvider
Constants ¶
View Source
const ( BrowserLoginPath = "/self-service/browser/flows/login" BrowserLoginRequestsPath = "/self-service/browser/flows/requests/login" )
Variables ¶
View Source
var ( ErrHookAbortRequest = errors.New("abort hook") ErrRequestExpired = herodot.ErrBadRequest. WithError("login request expired"). WithReasonf(`The login request has expired. Please restart the flow.`) )
Functions ¶
func TestRequestPersister ¶
func TestRequestPersister(p RequestPersister) func(t *testing.T)
Types ¶
type ErrorHandler ¶
type ErrorHandler struct {
// contains filtered or unexported fields
}
func NewErrorHandler ¶
func NewErrorHandler(d errorHandlerDependencies, c configuration.Provider) *ErrorHandler
func (*ErrorHandler) HandleLoginError ¶
func (s *ErrorHandler) HandleLoginError( w http.ResponseWriter, r *http.Request, ct identity.CredentialsType, rr *Request, err error, )
type ErrorHandlerProvider ¶
type ErrorHandlerProvider interface{ LoginRequestErrorHandler() *ErrorHandler }
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
func NewHandler ¶
func NewHandler(d handlerDependencies, c configuration.Provider) *Handler
func (*Handler) NewLoginRequest ¶
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 {
LoginHandler() *Handler
}
type HookExecutor ¶
type HookExecutor struct {
// contains filtered or unexported fields
}
func NewHookExecutor ¶
func NewHookExecutor(d loginExecutorDependencies, c configuration.Provider) *HookExecutor
func (*HookExecutor) PostLoginHook ¶
func (e *HookExecutor) PostLoginHook(w http.ResponseWriter, r *http.Request, hooks []PostHookExecutor, a *Request, i *identity.Identity) error
func (*HookExecutor) PreLoginHook ¶
func (e *HookExecutor) PreLoginHook(w http.ResponseWriter, r *http.Request, a *Request) error
type HookExecutorProvider ¶
type HookExecutorProvider interface {
LoginHookExecutor() *HookExecutor
}
type HooksProvider ¶
type HooksProvider interface { PreLoginHooks() []PreHookExecutor PostLoginHooks(credentialsType identity.CredentialsType) []PostHookExecutor }
type PostHookExecutor ¶
type PreHookExecutor ¶
type Request ¶
type Request struct { // ID represents the request's unique ID. When performing the login flow, this // represents the id in the login ui's query parameter: http://<urls.login_ui>/?request=<id> ID uuid.UUID `json:"id" faker:"uuid" rw:"r" db:"id"` // ExpiresAt is the time (UTC) when the request expires. If the user still wishes to log in, // a new request has to be initiated. ExpiresAt time.Time `json:"expires_at" faker:"time_type" db:"expires_at"` // IssuedAt is the time (UTC) when the request occurred. 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. RequestURL string `json:"request_url" db:"request_url"` // Active, if set, contains the login method that is being used. It is initially // not set. Active identity.CredentialsType `json:"active,omitempty" db:"active_method"` // Methods contains context for all enabled login methods. If a login request has been // processed, but for example the password is incorrect, this will contain error messages. Methods map[identity.CredentialsType]*RequestMethod `json:"methods" faker:"login_request_methods" db:"-"` // MethodsRaw is a helper struct field for gobuffalo.pop. MethodsRaw RequestMethodsRaw `json:"-" faker:"-" has_many:"selfservice_login_request_methods" fk_id:"selfservice_login_request_id"` // CreatedAt is a helper struct field for gobuffalo.pop. CreatedAt time.Time `json:"-" db:"created_at"` // UpdatedAt is a helper struct field for gobuffalo.pop. UpdatedAt time.Time `json:"-" db:"updated_at"` // CSRFToken contains the anti-csrf token associated with this request. CSRFToken string `json:"-" db:"csrf_token"` }
swagger:model loginRequest
func NewLoginRequest ¶
func (*Request) AfterCreate ¶
func (*Request) AfterUpdate ¶
func (*Request) BeforeSave ¶
type RequestMethod ¶
type RequestMethod struct { // Method contains the request credentials type. Method identity.CredentialsType `json:"method" db:"method"` // Config is the credential type's config. Config *RequestMethodConfig `json:"config" db:"config"` // ID is a helper struct field for gobuffalo.pop. ID uuid.UUID `json:"-" db:"id" rw:"r"` // RequestID is a helper struct field for gobuffalo.pop. RequestID uuid.UUID `json:"-" db:"selfservice_login_request_id"` // Request is a helper struct field for gobuffalo.pop. Request *Request `json:"-" belongs_to:"selfservice_login_request" fk_id:"RequestID"` // CreatedAt is a helper struct field for gobuffalo.pop. CreatedAt time.Time `json:"-" db:"created_at"` // UpdatedAt is a helper struct field for gobuffalo.pop. UpdatedAt time.Time `json:"-" db:"updated_at"` }
swagger:model loginRequestMethod
func (RequestMethod) TableName ¶
func (u RequestMethod) TableName() string
type RequestMethodConfig ¶
type RequestMethodConfig struct {
RequestMethodConfigurator
}
swagger:model loginRequestMethodConfig
func (*RequestMethodConfig) MarshalJSON ¶
func (c *RequestMethodConfig) MarshalJSON() ([]byte, error)
func (*RequestMethodConfig) Scan ¶
func (c *RequestMethodConfig) Scan(value interface{}) error
func (*RequestMethodConfig) UnmarshalJSON ¶
func (c *RequestMethodConfig) UnmarshalJSON(data []byte) error
type RequestMethodConfigurator ¶
type RequestMethodConfigurator interface { form.ErrorParser form.ValueSetter form.Resetter form.CSRFSetter }
swagger:ignore
type RequestMethods ¶
type RequestMethods map[identity.CredentialsType]*RequestMethod
func (RequestMethods) TableName ¶
func (u RequestMethods) TableName() string
type RequestMethodsRaw ¶
type RequestMethodsRaw []RequestMethod // workaround for https://github.com/gobuffalo/pop/pull/478
func (RequestMethodsRaw) TableName ¶
func (u RequestMethodsRaw) TableName() string
type RequestPersistenceProvider ¶
type RequestPersistenceProvider interface {
LoginRequestPersister() RequestPersister
}
type RequestPersister ¶
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 Strategy ¶
type Strategy interface { LoginStrategyID() identity.CredentialsType RegisterLoginRoutes(*x.RouterPublic) PopulateLoginMethod(r *http.Request, sr *Request) error }
type StrategyProvider ¶
type StrategyProvider interface {
LoginStrategies() Strategies
}
Click to show internal directories.
Click to hide internal directories.