UNPKG

@leancodepl/kratos

Version:

Headless React components library for building Ory Kratos authentication flows

173 lines 5.84 kB
import { AuthenticatorAssuranceLevel } from './AuthenticatorAssuranceLevel'; import { OAuth2LoginRequest } from './OAuth2LoginRequest'; import { UiContainer } from './UiContainer'; /** * This object represents a login flow. A login flow is initiated at the "Initiate Login API / Browser Flow" * endpoint by a client. * * Once a login flow is completed successfully, a session cookie or session token will be issued. * @export * @interface LoginFlow */ export interface LoginFlow { /** * The active login method * * If set contains the login method used. If the flow is new, it is unset. * password CredentialsTypePassword * oidc CredentialsTypeOIDC * totp CredentialsTypeTOTP * lookup_secret CredentialsTypeLookup * webauthn CredentialsTypeWebAuthn * code CredentialsTypeCodeAuth * passkey CredentialsTypePasskey * profile CredentialsTypeProfile * saml CredentialsTypeSAML * link_recovery CredentialsTypeRecoveryLink CredentialsTypeRecoveryLink is a special credential type linked to the link strategy (recovery flow). It is not used within the credentials object itself. * code_recovery CredentialsTypeRecoveryCode * @type {string} * @memberof LoginFlow */ active?: LoginFlowActiveEnum; /** * CreatedAt is a helper struct field for gobuffalo.pop. * @type {Date} * @memberof LoginFlow */ created_at?: Date; /** * ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to log in, * a new flow has to be initiated. * @type {Date} * @memberof LoginFlow */ expires_at: Date; /** * ID represents the flow's unique ID. When performing the login flow, this * represents the id in the login UI's query parameter: http://<selfservice.flows.login.ui_url>/?flow=<flow_id> * @type {string} * @memberof LoginFlow */ id: string; /** * IssuedAt is the time (UTC) when the flow started. * @type {Date} * @memberof LoginFlow */ issued_at: Date; /** * Ory OAuth 2.0 Login Challenge. * * This value is set using the `login_challenge` query parameter of the registration and login endpoints. * If set will cooperate with Ory OAuth2 and OpenID to act as an OAuth2 server / OpenID Provider. * @type {string} * @memberof LoginFlow */ oauth2_login_challenge?: string; /** * * @type {OAuth2LoginRequest} * @memberof LoginFlow */ oauth2_login_request?: OAuth2LoginRequest; /** * * @type {string} * @memberof LoginFlow */ organization_id?: string | null; /** * Refresh stores whether this login flow should enforce re-authentication. * @type {boolean} * @memberof LoginFlow */ refresh?: boolean; /** * 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. * @type {string} * @memberof LoginFlow */ request_url: string; /** * * @type {AuthenticatorAssuranceLevel} * @memberof LoginFlow */ requested_aal?: AuthenticatorAssuranceLevel; /** * ReturnTo contains the requested return_to URL. * @type {string} * @memberof LoginFlow */ return_to?: string; /** * SessionTokenExchangeCode holds the secret code that the client can use to retrieve a session token after the login flow has been completed. * This is only set if the client has requested a session token exchange code, and if the flow is of type "api", * and only on creating the login flow. * @type {string} * @memberof LoginFlow */ session_token_exchange_code?: string; /** * State represents the state of this request: * * choose_method: ask the user to choose a method to sign in with * sent_email: the email has been sent to the user * passed_challenge: the request was successful and the login challenge was passed. * @type {any} * @memberof LoginFlow */ state: any | null; /** * TransientPayload is used to pass data from the login to hooks and email templates * @type {object} * @memberof LoginFlow */ transient_payload?: object; /** * The flow type can either be `api` or `browser`. * @type {string} * @memberof LoginFlow */ type: string; /** * * @type {UiContainer} * @memberof LoginFlow */ ui: UiContainer; /** * UpdatedAt is a helper struct field for gobuffalo.pop. * @type {Date} * @memberof LoginFlow */ updated_at?: Date; } /** * @export */ export declare const LoginFlowActiveEnum: { readonly Password: "password"; readonly Oidc: "oidc"; readonly Totp: "totp"; readonly LookupSecret: "lookup_secret"; readonly Webauthn: "webauthn"; readonly Code: "code"; readonly Passkey: "passkey"; readonly Profile: "profile"; readonly Saml: "saml"; readonly LinkRecovery: "link_recovery"; readonly CodeRecovery: "code_recovery"; readonly UnknownDefaultOpenApi: "11184809"; }; export type LoginFlowActiveEnum = typeof LoginFlowActiveEnum[keyof typeof LoginFlowActiveEnum]; /** * Check if a given object implements the LoginFlow interface. */ export declare function instanceOfLoginFlow(value: object): value is LoginFlow; export declare function LoginFlowFromJSON(json: any): LoginFlow; export declare function LoginFlowFromJSONTyped(json: any, ignoreDiscriminator: boolean): LoginFlow; export declare function LoginFlowToJSON(json: any): LoginFlow; export declare function LoginFlowToJSONTyped(value?: LoginFlow | null, ignoreDiscriminator?: boolean): any; //# sourceMappingURL=LoginFlow.d.ts.map