|
|
@ -125,13 +125,16 @@ pub enum FidoLevel {
|
|
|
|
|
|
|
|
|
|
|
|
/// These options describe properties of a CTAP device.
|
|
|
|
/// These options describe properties of a CTAP device.
|
|
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
|
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
|
|
|
|
pub enum OptionId {
|
|
|
|
pub enum OptionId {
|
|
|
|
/// > Indicates that the device is attached to the client and therefore
|
|
|
|
/// > Indicates that the device is attached to the client and therefore
|
|
|
|
/// > can’t be removed and used on another client.
|
|
|
|
/// > can’t be removed and used on another client.
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "plat"))]
|
|
|
|
PlatformDevice,
|
|
|
|
PlatformDevice,
|
|
|
|
/// > Specifies whether this authenticator can create discoverable
|
|
|
|
/// > Specifies whether this authenticator can create discoverable
|
|
|
|
/// > credentials, and therefore can satisfy `authenticatorGetAssertion`
|
|
|
|
/// > credentials, and therefore can satisfy `authenticatorGetAssertion`
|
|
|
|
/// > requests with the `allowList` parameter omitted.
|
|
|
|
/// > requests with the `allowList` parameter omitted.
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "rk"))]
|
|
|
|
DiscoverableCredentials,
|
|
|
|
DiscoverableCredentials,
|
|
|
|
/// > ClientPIN feature support:
|
|
|
|
/// > ClientPIN feature support:
|
|
|
|
/// > If present and set to true, it indicates that the device is capable of
|
|
|
|
/// > If present and set to true, it indicates that the device is capable of
|
|
|
@ -142,8 +145,10 @@ pub enum OptionId {
|
|
|
|
/// >
|
|
|
|
/// >
|
|
|
|
/// > If absent, it indicates that the device is not capable of accepting a
|
|
|
|
/// > If absent, it indicates that the device is not capable of accepting a
|
|
|
|
/// > PIN from the client.
|
|
|
|
/// > PIN from the client.
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "clientPin"))]
|
|
|
|
ClientPin,
|
|
|
|
ClientPin,
|
|
|
|
/// > Indicates that the device is capable of testing user presence.
|
|
|
|
/// > Indicates that the device is capable of testing user presence.
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "up"))]
|
|
|
|
UserPresence,
|
|
|
|
UserPresence,
|
|
|
|
/// > Indicates that the authenticator supports a built-in user verification
|
|
|
|
/// > Indicates that the authenticator supports a built-in user verification
|
|
|
|
/// > method. For example, devices with UI, biometrics fall into this
|
|
|
|
/// > method. For example, devices with UI, biometrics fall into this
|
|
|
@ -168,7 +173,9 @@ pub enum OptionId {
|
|
|
|
/// > If a device is capable of both built-in user verification and Client
|
|
|
|
/// > If a device is capable of both built-in user verification and Client
|
|
|
|
/// > PIN, the authenticator will return both the "uv" and the "clientPin"
|
|
|
|
/// > PIN, the authenticator will return both the "uv" and the "clientPin"
|
|
|
|
/// > option ids.
|
|
|
|
/// > option ids.
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "uv"))]
|
|
|
|
UserVerification,
|
|
|
|
UserVerification,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "pinUvAuthToken"))]
|
|
|
|
PinUvAuthToken,
|
|
|
|
PinUvAuthToken,
|
|
|
|
/// > If this noMcGaPermissionsWithClientPin is:
|
|
|
|
/// > If this noMcGaPermissionsWithClientPin is:
|
|
|
|
/// > - present and set to true: A `pinUvAuthToken` obtained via
|
|
|
|
/// > - present and set to true: A `pinUvAuthToken` obtained via
|
|
|
@ -186,17 +193,29 @@ pub enum OptionId {
|
|
|
|
/// >
|
|
|
|
/// >
|
|
|
|
/// > Note: `noMcGaPermissionsWithClientPin` MUST only be present if the
|
|
|
|
/// > Note: `noMcGaPermissionsWithClientPin` MUST only be present if the
|
|
|
|
/// > `clientPin` option ID is present.
|
|
|
|
/// > `clientPin` option ID is present.
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "noMcGaPermissionsWithClientPin"))]
|
|
|
|
NoMcGaPermissionsWithClientPin,
|
|
|
|
NoMcGaPermissionsWithClientPin,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "largeBlobs"))]
|
|
|
|
LargeBlobs,
|
|
|
|
LargeBlobs,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "ep"))]
|
|
|
|
EnterpriseAttestation,
|
|
|
|
EnterpriseAttestation,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "bioEnroll"))]
|
|
|
|
BiometricEnroll,
|
|
|
|
BiometricEnroll,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "userVerificationMgmtPreview"))]
|
|
|
|
UvManagementPreview,
|
|
|
|
UvManagementPreview,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "uvBioEnroll"))]
|
|
|
|
UvBiometricEnroll,
|
|
|
|
UvBiometricEnroll,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "authnrCfg"))]
|
|
|
|
AuthenticatorConfig,
|
|
|
|
AuthenticatorConfig,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "uvAcfg"))]
|
|
|
|
UvAuthenticatorConfig,
|
|
|
|
UvAuthenticatorConfig,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "credMgmt"))]
|
|
|
|
CredentialManagement,
|
|
|
|
CredentialManagement,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "setMinPINLength"))]
|
|
|
|
SetMinPinLength,
|
|
|
|
SetMinPinLength,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "makeCredUvNotRqd"))]
|
|
|
|
MakeCredentialUvNotRequired,
|
|
|
|
MakeCredentialUvNotRequired,
|
|
|
|
|
|
|
|
#[cfg_attr(feature = "serde", serde(rename = "alwaysUv"))]
|
|
|
|
AlwaysRequireUv,
|
|
|
|
AlwaysRequireUv,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|