209 lines
4.5 KiB
TypeScript
209 lines
4.5 KiB
TypeScript
import * as plugins from '../plugins.js';
|
|
import * as data from '../data/index.js';
|
|
|
|
export interface IReq_GetMfaStatus
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_GetMfaStatus
|
|
> {
|
|
method: 'getMfaStatus';
|
|
request: {
|
|
jwt: string;
|
|
};
|
|
response: {
|
|
totpEnabled: boolean;
|
|
backupCodesRemaining: number;
|
|
passkeys: data.IPasskeyCredential[];
|
|
availableMethods: data.TMfaMethod[];
|
|
};
|
|
}
|
|
|
|
export interface IReq_StartTotpEnrollment
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_StartTotpEnrollment
|
|
> {
|
|
method: 'startTotpEnrollment';
|
|
request: {
|
|
jwt: string;
|
|
};
|
|
response: {
|
|
credentialId: string;
|
|
secret: string;
|
|
otpauthUrl: string;
|
|
};
|
|
}
|
|
|
|
export interface IReq_FinishTotpEnrollment
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_FinishTotpEnrollment
|
|
> {
|
|
method: 'finishTotpEnrollment';
|
|
request: {
|
|
jwt: string;
|
|
credentialId: string;
|
|
code: string;
|
|
};
|
|
response: {
|
|
success: boolean;
|
|
backupCodes: string[];
|
|
};
|
|
}
|
|
|
|
export interface IReq_DisableTotp
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_DisableTotp
|
|
> {
|
|
method: 'disableTotp';
|
|
request: {
|
|
jwt: string;
|
|
code: string;
|
|
};
|
|
response: {
|
|
success: boolean;
|
|
};
|
|
}
|
|
|
|
export interface IReq_RegenerateBackupCodes
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_RegenerateBackupCodes
|
|
> {
|
|
method: 'regenerateBackupCodes';
|
|
request: {
|
|
jwt: string;
|
|
code: string;
|
|
};
|
|
response: {
|
|
backupCodes: string[];
|
|
};
|
|
}
|
|
|
|
export interface IReq_VerifyMfaChallenge
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_VerifyMfaChallenge
|
|
> {
|
|
method: 'verifyMfaChallenge';
|
|
request: {
|
|
mfaChallengeToken: string;
|
|
method: Extract<data.TMfaMethod, 'totp' | 'backupCode'>;
|
|
code: string;
|
|
};
|
|
response: {
|
|
refreshToken: string;
|
|
};
|
|
}
|
|
|
|
export interface IReq_StartPasskeyRegistration
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_StartPasskeyRegistration
|
|
> {
|
|
method: 'startPasskeyRegistration';
|
|
request: {
|
|
jwt: string;
|
|
label?: string;
|
|
};
|
|
response: {
|
|
challengeId: string;
|
|
options: Record<string, any>;
|
|
};
|
|
}
|
|
|
|
export interface IReq_FinishPasskeyRegistration
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_FinishPasskeyRegistration
|
|
> {
|
|
method: 'finishPasskeyRegistration';
|
|
request: {
|
|
jwt: string;
|
|
challengeId: string;
|
|
label?: string;
|
|
response: Record<string, any>;
|
|
};
|
|
response: {
|
|
success: boolean;
|
|
passkey: data.IPasskeyCredential;
|
|
};
|
|
}
|
|
|
|
export interface IReq_RevokePasskey
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_RevokePasskey
|
|
> {
|
|
method: 'revokePasskey';
|
|
request: {
|
|
jwt: string;
|
|
passkeyId: string;
|
|
};
|
|
response: {
|
|
success: boolean;
|
|
};
|
|
}
|
|
|
|
export interface IReq_StartPasskeyLogin
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_StartPasskeyLogin
|
|
> {
|
|
method: 'startPasskeyLogin';
|
|
request: {
|
|
username?: string;
|
|
};
|
|
response: {
|
|
challengeId: string;
|
|
options: Record<string, any>;
|
|
};
|
|
}
|
|
|
|
export interface IReq_FinishPasskeyLogin
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_FinishPasskeyLogin
|
|
> {
|
|
method: 'finishPasskeyLogin';
|
|
request: {
|
|
challengeId: string;
|
|
response: Record<string, any>;
|
|
};
|
|
response: {
|
|
refreshToken: string;
|
|
};
|
|
}
|
|
|
|
export interface IReq_StartPasskeyMfa
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_StartPasskeyMfa
|
|
> {
|
|
method: 'startPasskeyMfa';
|
|
request: {
|
|
mfaChallengeToken: string;
|
|
};
|
|
response: {
|
|
challengeId: string;
|
|
options: Record<string, any>;
|
|
};
|
|
}
|
|
|
|
export interface IReq_FinishPasskeyMfa
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_FinishPasskeyMfa
|
|
> {
|
|
method: 'finishPasskeyMfa';
|
|
request: {
|
|
mfaChallengeToken: string;
|
|
challengeId: string;
|
|
response: Record<string, any>;
|
|
};
|
|
response: {
|
|
refreshToken: string;
|
|
};
|
|
}
|