Enum webauthn_authenticator_rs::UserVerificationPolicy[][src]

pub enum UserVerificationPolicy {
    Required,
    Preferred,
    Discouraged,
}

Defines the User Authenticator Verification policy. This is documented https://w3c.github.io/webauthn/#enumdef-userverificationrequirement, and each variant lists it's effects.

To be clear, Verification means that the Authenticator perform extra or supplementary interfaction with the user to verify who they are. An example of this is Apple Touch Id required a fingerprint to be verified, or a yubico device requiring a pin in addition to a touch event.

An example of a non-verified interaction is a yubico device with no pin where touch is the only interaction - we only verify a user is present, but we don't have extra details to the legitimacy of that user.

Variants

Required

Require User Verification bit to be set, and fail the registration or authentication if false. If the authenticator is not able to perform verification, it may not be usable with this policy.

Preferred

Prefer User Verification bit to be set, and yolo the registration or authentication if false. This means if the authenticator can perform verification, do it, but don't mind if not.

WARNING: This setting is effectively useless. Either you want user verification so require Required, or you do not want it, so use Discouraged. This setting will prompt users for verification, but without enforcing that it is present.

As a result, this setting is effectively Discouraged and should be AVOIDED.

Discouraged

Request that no verification is performed, and fail if it is. This is intended to minimise user interaction in workflows, but is potentially a security risk to use.

Trait Implementations

impl Clone for UserVerificationPolicy[src]

impl Debug for UserVerificationPolicy[src]

impl<'de> Deserialize<'de> for UserVerificationPolicy[src]

impl PartialEq<UserVerificationPolicy> for UserVerificationPolicy[src]

impl Serialize for UserVerificationPolicy[src]

impl StructuralPartialEq for UserVerificationPolicy[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,