summaryrefslogtreecommitdiff
path: root/includes/external/matrix/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/matrix/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts')
-rw-r--r--includes/external/matrix/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts270
1 files changed, 0 insertions, 270 deletions
diff --git a/includes/external/matrix/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts b/includes/external/matrix/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts
deleted file mode 100644
index f50594e..0000000
--- a/includes/external/matrix/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts
+++ /dev/null
@@ -1,270 +0,0 @@
-import { MatrixClient } from "./client";
-export interface UIAFlow {
- stages: AuthType[];
-}
-export interface IInputs {
- emailAddress?: string;
- phoneCountry?: string;
- phoneNumber?: string;
- registrationToken?: string;
-}
-export interface IStageStatus {
- emailSid?: string;
- errcode?: string;
- error?: string;
-}
-export interface IAuthData {
- session?: string;
- type?: string;
- completed?: string[];
- flows?: UIAFlow[];
- available_flows?: UIAFlow[];
- stages?: string[];
- required_stages?: AuthType[];
- params?: Record<string, Record<string, any>>;
- data?: Record<string, string>;
- errcode?: string;
- error?: string;
- user_id?: string;
- device_id?: string;
- access_token?: string;
-}
-export declare enum AuthType {
- Password = "m.login.password",
- Recaptcha = "m.login.recaptcha",
- Terms = "m.login.terms",
- Email = "m.login.email.identity",
- Msisdn = "m.login.msisdn",
- Sso = "m.login.sso",
- SsoUnstable = "org.matrix.login.sso",
- Dummy = "m.login.dummy",
- RegistrationToken = "m.login.registration_token",
- UnstableRegistrationToken = "org.matrix.msc3231.login.registration_token"
-}
-export interface IAuthDict {
- type?: string;
- session?: string;
- user?: string;
- identifier?: any;
- password?: string;
- response?: string;
- threepid_creds?: any;
- threepidCreds?: any;
- token?: string;
-}
-interface IOpts {
- /**
- * A matrix client to use for the auth process
- */
- matrixClient: MatrixClient;
- /**
- * Error response from the last request. If null, a request will be made with no auth before starting.
- */
- authData?: IAuthData;
- /**
- * Inputs provided by the user and used by different stages of the auto process.
- * The inputs provided will affect what flow is chosen.
- */
- inputs?: IInputs;
- /**
- * If resuming an existing interactive auth session, the sessionId of that session.
- */
- sessionId?: string;
- /**
- * If resuming an existing interactive auth session, the client secret for that session
- */
- clientSecret?: string;
- /**
- * If returning from having completed m.login.email.identity auth, the sid for the email verification session.
- */
- emailSid?: string;
- /**
- * Called with the new auth dict to submit the request.
- * Also passes a second deprecated arg which is a flag set to true if this request is a background request.
- * The busyChanged callback should be used instead of the background flag.
- * Should return a promise which resolves to the successful response or rejects with a MatrixError.
- */
- doRequest(auth: IAuthData | null, background: boolean): Promise<IAuthData>;
- /**
- * Called when the status of the UI auth changes,
- * ie. when the state of an auth stage changes of when the auth flow moves to a new stage.
- * The arguments are: the login type (eg m.login.password); and an object which is either an error or an
- * informational object specific to the login type.
- * If the 'errcode' key is defined, the object is an error, and has keys:
- * errcode: string, the textual error code, eg. M_UNKNOWN
- * error: string, human readable string describing the error
- *
- * The login type specific objects are as follows:
- * m.login.email.identity:
- * * emailSid: string, the sid of the active email auth session
- */
- stateUpdated(nextStage: AuthType, status: IStageStatus): void;
- /**
- * A function that takes the email address (string), clientSecret (string), attempt number (int) and
- * sessionId (string) and calls the relevant requestToken function and returns the promise returned by that
- * function.
- * If the resulting promise rejects, the rejection will propagate through to the attemptAuth promise.
- */
- requestEmailToken(email: string, secret: string, attempt: number, session: string): Promise<{
- sid: string;
- }>;
- /**
- * Called whenever the interactive auth logic becomes busy submitting information provided by the user or finishes.
- * After this has been called with true the UI should indicate that a request is in progress
- * until it is called again with false.
- */
- busyChanged?(busy: boolean): void;
- startAuthStage?(nextStage: string): Promise<void>;
-}
-/**
- * Abstracts the logic used to drive the interactive auth process.
- *
- * <p>Components implementing an interactive auth flow should instantiate one of
- * these, passing in the necessary callbacks to the constructor. They should
- * then call attemptAuth, which will return a promise which will resolve or
- * reject when the interactive-auth process completes.
- *
- * <p>Meanwhile, calls will be made to the startAuthStage and doRequest
- * callbacks, and information gathered from the user can be submitted with
- * submitAuthDict.
- *
- * @param opts - options object
- */
-export declare class InteractiveAuth {
- private readonly matrixClient;
- private readonly inputs;
- private readonly clientSecret;
- private readonly requestCallback;
- private readonly busyChangedCallback?;
- private readonly stateUpdatedCallback;
- private readonly requestEmailTokenCallback;
- private data;
- private emailSid?;
- private requestingEmailToken;
- private attemptAuthDeferred;
- private chosenFlow;
- private currentStage;
- private emailAttempt;
- private submitPromise;
- constructor(opts: IOpts);
- /**
- * begin the authentication process.
- *
- * @returns which resolves to the response on success,
- * or rejects with the error on failure. Rejects with NoAuthFlowFoundError if
- * no suitable authentication flow can be found
- */
- attemptAuth(): Promise<IAuthData>;
- /**
- * Poll to check if the auth session or current stage has been
- * completed out-of-band. If so, the attemptAuth promise will
- * be resolved.
- */
- poll(): Promise<void>;
- /**
- * get the auth session ID
- *
- * @returns session id
- */
- getSessionId(): string | undefined;
- /**
- * get the client secret used for validation sessions
- * with the identity server.
- *
- * @returns client secret
- */
- getClientSecret(): string;
- /**
- * get the server params for a given stage
- *
- * @param loginType - login type for the stage
- * @returns any parameters from the server for this stage
- */
- getStageParams(loginType: string): Record<string, any> | undefined;
- getChosenFlow(): UIAFlow | null;
- /**
- * submit a new auth dict and fire off the request. This will either
- * make attemptAuth resolve/reject, or cause the startAuthStage callback
- * to be called for a new stage.
- *
- * @param authData - new auth dict to send to the server. Should
- * include a `type` property denoting the login type, as well as any
- * other params for that stage.
- * @param background - If true, this request failing will not result
- * in the attemptAuth promise being rejected. This can be set to true
- * for requests that just poll to see if auth has been completed elsewhere.
- */
- submitAuthDict(authData: IAuthDict, background?: boolean): Promise<void>;
- /**
- * Gets the sid for the email validation session
- * Specific to m.login.email.identity
- *
- * @returns The sid of the email auth session
- */
- getEmailSid(): string | undefined;
- /**
- * Sets the sid for the email validation session
- * This must be set in order to successfully poll for completion
- * of the email validation.
- * Specific to m.login.email.identity
- *
- * @param sid - The sid for the email validation session
- */
- setEmailSid(sid: string): void;
- /**
- * Requests a new email token and sets the email sid for the validation session
- */
- requestEmailToken: () => Promise<void>;
- /**
- * Fire off a request, and either resolve the promise, or call
- * startAuthStage.
- *
- * @internal
- * @param auth - new auth dict, including session id
- * @param background - If true, this request is a background poll, so it
- * failing will not result in the attemptAuth promise being rejected.
- * This can be set to true for requests that just poll to see if auth has
- * been completed elsewhere.
- */
- private doRequest;
- /**
- * Pick the next stage and call the callback
- *
- * @internal
- * @throws {@link NoAuthFlowFoundError} If no suitable authentication flow can be found
- */
- private startNextAuthStage;
- /**
- * Pick the next auth stage
- *
- * @internal
- * @returns login type
- * @throws {@link NoAuthFlowFoundError} If no suitable authentication flow can be found
- */
- private chooseStage;
- /**
- * Pick one of the flows from the returned list
- * If a flow using all of the inputs is found, it will
- * be returned, otherwise, null will be returned.
- *
- * Only flows using all given inputs are chosen because it
- * is likely to be surprising if the user provides a
- * credential and it is not used. For example, for registration,
- * this could result in the email not being used which would leave
- * the account with no means to reset a password.
- *
- * @internal
- * @returns flow
- * @throws {@link NoAuthFlowFoundError} If no suitable authentication flow can be found
- */
- private chooseFlow;
- /**
- * Get the first uncompleted stage in the given flow
- *
- * @internal
- * @returns login type
- */
- private firstUncompletedStage;
-}
-export {};
-//# sourceMappingURL=interactive-auth.d.ts.map \ No newline at end of file