namespace Azaion.Common.Requests; /// AZ-534 — body for POST /users/me/mfa/enroll. public class MfaEnrollRequest { public string Password { get; set; } = null!; } /// AZ-534 — response of /enroll (also surfaces recovery codes ONCE; they are /// hashed at rest and unrecoverable after this response). public class MfaEnrollResponse { public string Secret { get; set; } = null!; public string OtpAuthUrl { get; set; } = null!; public string QrPngBase64 { get; set; } = null!; public string[] RecoveryCodes { get; set; } = []; } public class MfaConfirmRequest { public string Code { get; set; } = null!; } public class MfaDisableRequest { public string Password { get; set; } = null!; public string Code { get; set; } = null!; } /// AZ-534 AC-3 — response of step-1 /login when the user has MFA enabled. /// The mfa_token is a short-lived JWT carried into POST /login/mfa. public class MfaRequiredResponse { public bool MfaRequired { get; set; } = true; public string MfaToken { get; set; } = null!; public int ExpiresIn { get; set; } } public class MfaLoginRequest { public string MfaToken { get; set; } = null!; public string Code { get; set; } = null!; }