diff --git a/crates/ctap2-proto/src/authenticator/assertion/get.rs b/crates/ctap2-proto/src/authenticator/assertion/get.rs index 7dcbe78..00b8e86 100644 --- a/crates/ctap2-proto/src/authenticator/assertion/get.rs +++ b/crates/ctap2-proto/src/authenticator/assertion/get.rs @@ -31,12 +31,12 @@ pub enum Error { pub enum OptionKey { /// > user presence: Instructs the authenticator to require user consent /// > to complete the operation. - #[serde(rename = "up")] + #[cfg_attr(feature = "serde", serde(rename = "up"))] UserPresence, /// > user verification: If true, instructs the authenticator to require /// > a user-verifying gesture in order to complete the request. /// > Examples of such gestures are fingerprint scan or a PIN. - #[serde(rename = "uv")] + #[cfg_attr(feature = "serde", serde(rename = "uv"))] UserVerification, } @@ -46,7 +46,7 @@ pub enum OptionKey { #[cfg_attr(feature = "serde", serde_as, skip_serializing_none, derive(Serialize))] pub struct Request<'a> { /// > relying party identifier - #[serde(rename = 0x01)] + #[cfg_attr(feature = "serde", serde(rename = 0x01))] pub relying_party_id: &'a str, /// > Hash of the serialized client data collected by the host. #[cfg_attr(feature = "serde", serde_as(as = "Bytes"), serde(rename = 0x02))] @@ -56,19 +56,19 @@ pub struct Request<'a> { /// > the authenticator MUST only generate a assertion using one of the /// > denoted credentials. // Cannot be empty if present - #[serde(rename = 0x03)] + #[cfg_attr(feature = "serde", serde(rename = 0x03))] pub allow_list: Option<&'a Vec<&'a public_key::Descriptor>>, /// > Parameters to influence authenticator operation. These parameters /// > might be authenticator specific. - #[serde(rename = 0x04)] + #[cfg_attr(feature = "serde", serde(rename = 0x04))] pub extensions: Option<&'a BTreeMap>, /// > Parameters to influence authenticator operation. - #[serde(rename = 0x05)] + #[cfg_attr(feature = "serde", serde(rename = 0x05))] pub options: Option<&'a BTreeMap>, - #[serde(rename = 0x06)] + #[cfg_attr(feature = "serde", serde(rename = 0x06))] pub pin_uv_auth_param: Option<&'a [u8]>, /// > PIN/UV protocol version selected by platform. - #[serde(rename = 0x07)] + #[cfg_attr(feature = "serde", serde(rename = 0x07))] pub pin_uv_auth_protocol_version: Option, } @@ -84,7 +84,7 @@ pub struct Request<'a> { pub struct Response { /// > PublicKeyCredentialDescriptor structure containing the credential /// > identifier whose private key was used to generate the assertion. - #[serde(rename = 0x01)] + #[cfg_attr(feature = "serde", serde(rename = 0x01))] pub credential: public_key::Descriptor, /// > The signed-over contextual bindings made by the authenticator, as /// > specified in [WebAuthn]. @@ -96,18 +96,18 @@ pub struct Response { pub signature: Vec, /// > [`public_key::UserEntity`] structure containing the user account /// > information - #[serde(rename = 0x04)] + #[cfg_attr(feature = "serde", serde(rename = 0x04))] pub user: Option, /// > Total number of account credentials for the RP. Optional; defaults /// > to one. This member is required when more than one credential is /// > found for an RP, and the authenticator does not have a display or /// > the UV & UP flags are false. - #[serde(rename = 0x05)] + #[cfg_attr(feature = "serde", serde(rename = 0x05))] pub number_of_credentials: Option, /// > Indicates that a credential was selected by the user via /// > interaction directly with the authenticator, and thus the platform /// > does not need to confirm the credential. - #[serde(rename = 0x06)] + #[cfg_attr(feature = "serde", serde(rename = 0x06))] pub user_selected: Option, /// > The contents of the associated `largeBlobKey` if present for the /// > asserted credential, and if `largeBlobKey` was true in the