pub struct Response {
pub versions: Vec<Version>,
pub extensions: Option<Vec<Extension>>,
pub aaguid: Aaguid,
pub options: Option<Options>,
pub max_msg_size: Option<NonZeroU128>,
pub pin_protocols: Option<Vec<u8>>,
pub transports: Option<Vec<AuthenticatorTransport>>,
}Expand description
An Authenticator’s metadata and capabilities.
Fields§
§versions: Vec<Version>List of supported versions. Supported versions are:
- “FIDO_2_0” for CTAP2 / FIDO2 / Web Authentication authenticators
- “U2F_V2” for CTAP1/U2F authenticators.
extensions: Option<Vec<Extension>>List of supported extensions. (Optional)
aaguid: AaguidThe claimed AAGUID. 16 bytes in length
options: Option<Options>List of supported options.
max_msg_size: Option<NonZeroU128>Maximum message size supported by the authenticator. By default, authenticators MUST support messages of at least 1024 bytes.
This can be passed as a CBOR unsigned number so a u128 is used as the backing value since it is the maximum a CBOR number can represent.
pin_protocols: Option<Vec<u8>>List of supported PIN Protocol versions.
If we ever end up with more than 256 pin protocols, an enhancement request should be filed.
transports: Option<Vec<AuthenticatorTransport>>List of supported transports. Values are taken from the AuthenticatorTransport enum.
The list MUST NOT include duplicate values nor be empty if present.
Platforms MUST tolerate unknown values by ignoring them.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Response
impl<'de> Deserialize<'de> for Response
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
impl Eq for Response
impl StructuralPartialEq for Response
Auto Trait Implementations§
impl Freeze for Response
impl RefUnwindSafe for Response
impl Send for Response
impl Sync for Response
impl Unpin for Response
impl UnwindSafe for Response
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.