Struct AuthHandlerMap

Source
pub struct AuthHandlerMap { /* private fields */ }
Expand description

Implementation of AuthHandler that maintains a map of AuthMethodHandler implementations for specific methods, invoking on_challenge, on_verification, on_info, and on_error for a specific handler based on an associated id.

Implementations§

Source§

impl AuthHandlerMap

Source

pub fn new() -> Self

Creates a new, empty map of auth method handlers.

Source

pub fn active_id(&self) -> &str

Returns the id of the active AuthMethodHandler.

Source

pub fn set_active_id(&mut self, id: impl Into<String>)

Sets the active AuthMethodHandler by its id.

Source

pub fn insert_method_handler<T: AuthMethodHandler + 'static>( &mut self, id: &'static str, handler: T, ) -> Option<Box<dyn AuthMethodHandler>>

Inserts the specified handler into the map, associating it with id for determining the method that would trigger this handler.

Source

pub fn remove_method_handler( &mut self, id: &'static str, ) -> Option<Box<dyn AuthMethodHandler>>

Removes a handler with the associated id.

Source

pub fn get_mut_active_method_handler_or_error( &mut self, ) -> Result<&mut (dyn AuthMethodHandler + 'static)>

Retrieves a mutable reference to the active AuthMethodHandler with the specified id, returning an error if no handler for the active id is found.

Source

pub fn get_mut_active_method_handler( &mut self, ) -> Option<&mut (dyn AuthMethodHandler + 'static)>

Retrieves a mutable reference to the active AuthMethodHandler with the specified id.

Source

pub fn get_mut_method_handler( &mut self, id: &str, ) -> Option<&mut (dyn AuthMethodHandler + 'static)>

Retrieves a mutable reference to the AuthMethodHandler with the specified id.

Source§

impl AuthHandlerMap

Source

pub fn with_static_key<K>(self, key: K) -> Self
where K: Display + Send + 'static,

Consumes the map, returning a new map that supports the static_key method.

Trait Implementations§

Source§

impl AuthHandler for AuthHandlerMap

Source§

fn on_initialization<'life0, 'async_trait>( &'life0 mut self, initialization: Initialization, ) -> Pin<Box<dyn Future<Output = Result<InitializationResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Callback when authentication is beginning, providing available authentication methods and returning selected authentication methods to pursue.
Source§

fn on_start_method<'life0, 'async_trait>( &'life0 mut self, start_method: StartMethod, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Callback when authentication starts for a specific method.
Source§

fn on_finished<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Callback when authentication is finished and no more requests will be received.
Source§

impl AuthMethodHandler for AuthHandlerMap

Source§

fn on_challenge<'life0, 'async_trait>( &'life0 mut self, challenge: Challenge, ) -> Pin<Box<dyn Future<Output = Result<ChallengeResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Callback when a challenge is received, returning answers to the given questions.
Source§

fn on_verification<'life0, 'async_trait>( &'life0 mut self, verification: Verification, ) -> Pin<Box<dyn Future<Output = Result<VerificationResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Callback when a verification request is received, returning true if approvided or false if unapproved.
Source§

fn on_info<'life0, 'async_trait>( &'life0 mut self, info: Info, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Callback when information is received. To fail, return an error from this function.
Source§

fn on_error<'life0, 'async_trait>( &'life0 mut self, error: Error, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Callback when an error is received. Regardless of the result returned, this will terminate the authenticator. In the situation where a custom error would be preferred, have this callback return an error.
Source§

impl Default for AuthHandlerMap

Source§

fn default() -> Self

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

Auto Trait Implementations§

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.