Skip to main content

Door

Enum Door 

Source
pub enum Door {
    Link,
    Here,
}
Expand description

WHICH OF THE THREE STATES the door is in — the third one is new.

There were two: no login at all (Front::login is None), and a login somewhere else on this origin (a link the button follows). Neither of them is what holger.rs needs, because on holger.rs the console IS this origin: the link sent a visitor to /login, a second page with the same button on it, and the reader pressed the same thing twice to reach one ceremony.

So there is a third: the ceremony runs on this page. The page holds the WebAuthn call itself — navigator.credentials.get against the paths the server names — and there is no navigation until it has succeeded.

It is a field and not a separate type because the airgapped appliance serves this same crate with /auth/* absent entirely. The appliance answers Door::Link or None and the ceremony code on the page is never reached; nothing about the ceremony is compiled into the appliance’s choices, it is markup and script that a server has to opt into by naming three paths.

Variants§

The button is a link: press it and the browser goes to start.

The default, and it is the default on purpose: a /-/front document written before this field existed deserialises as a link, which is what it was.

§

Here

The ceremony is HERE. start, finish and next are all rooted paths on this origin and the page never leaves until finish said yes.

Trait Implementations§

Source§

impl Clone for Door

Source§

fn clone(&self) -> Door

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Door

Source§

impl Debug for Door

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Door

Source§

fn default() -> Door

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Door

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for Door

Source§

impl PartialEq for Door

Source§

fn eq(&self, other: &Door) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for Door

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Door

Auto Trait Implementations§

§

impl Freeze for Door

§

impl RefUnwindSafe for Door

§

impl Send for Door

§

impl Sync for Door

§

impl Unpin for Door

§

impl UnsafeUnpin for Door

§

impl UnwindSafe for Door

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.