namespace Dpz.Core.Public.ViewModel.WebAuthn;

/// <summary>
/// Passkey 删除接口结果
/// </summary>
public class DeleteWebAuthnCredentialResult
{
    /// <summary>
    /// 当前请求是否已经完成删除
    /// </summary>
    public bool Deleted { get; set; }

    /// <summary>
    /// 是否需要二次验证后再次调用同一删除接口
    /// </summary>
    public bool RequiresVerification { get; set; }

    /// <summary>
    /// 需要的验证类型取值为 <c>passkey</c> 或 <c>twoFactor</c>
    /// </summary>
    public string? VerificationType { get; set; }

    /// <summary>
    /// WebAuthn 验证失败或取消后,是否允许使用 2FA 动态验证码兜底
    /// </summary>
    public bool AllowsTwoFactorFallback { get; set; }

    /// <summary>
    /// 浏览器调用 <c>navigator.credentials.get</c> 所需的参数
    /// </summary>
    public object? AssertionOptions { get; set; }

    /// <summary>
    /// 与 <see cref="AssertionOptions" /> 对应的 challenge
    /// </summary>
    public string? Challenge { get; set; }

    /// <summary>
    /// 删除完成后账号未绑定任何 MFA 方式,前端应提醒用户重新完成安全绑定
    /// </summary>
    public bool NeedsSecuritySetup { get; set; }
}
评论加载中...