using System.Runtime.Serialization; using System.Text.Json.Serialization; namespace ProtonVPN.OperatingSystems.WebAuthn.Enums; /// /// This enumeration describes the Relying Party's requirements regarding user verification for the create() operation. /// Eligible authenticators are filtered to only those capable of satisfying this requirement. /// [JsonConverter(typeof(JsonStringEnumConverter))] public enum UserVerificationRequirement : uint { /// /// Corresponds to WEBAUTHN_USER_VERIFICATION_REQUIREMENT_ANY. /// [EnumMember(Value = "NULL")] Any = PInvoke.WEBAUTHN_USER_VERIFICATION_REQUIREMENT_ANY, /// /// This value indicates that the Relying Party requires user verification for the operation /// and will fail the operation if the response does not have the UV flag set. /// /// /// Corresponds to WEBAUTHN_USER_VERIFICATION_REQUIREMENT_REQUIRED. /// [EnumMember(Value = "required")] Required = PInvoke.WEBAUTHN_USER_VERIFICATION_REQUIREMENT_REQUIRED, /// /// This value indicates that the Relying Party prefers user verification for the operation if possible, /// but will not fail the operation if the response does not have the UV flag set. /// /// /// Corresponds to WEBAUTHN_USER_VERIFICATION_REQUIREMENT_PREFERRED. /// [EnumMember(Value = "preferred")] Preferred = PInvoke.WEBAUTHN_USER_VERIFICATION_REQUIREMENT_PREFERRED, /// /// This value indicates that the Relying Party does not want user verification employed during the operation /// (e.g., in the interest of minimizing disruption to the user interaction flow). /// /// /// Corresponds to WEBAUTHN_USER_VERIFICATION_REQUIREMENT_DISCOURAGED. /// [EnumMember(Value = "discouraged")] Discouraged = PInvoke.WEBAUTHN_USER_VERIFICATION_REQUIREMENT_DISCOURAGED }