@leancodepl/kratos
Version:
Headless React components library for building Ory Kratos authentication flows
173 lines • 5.84 kB
TypeScript
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