Skip to main content

Authenticator

Trait Authenticator 

Source
pub trait Authenticator: Send {
    // Required methods
    fn initialize<'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;
    fn 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;
    fn verify<'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;
    fn 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;
    fn 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;
    fn 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;
    fn finished<'life0, 'async_trait>(
        &'life0 mut self,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Represents an interface for submitting challenges for authentication.

Required Methods§

Source

fn initialize<'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,

Issues an initialization notice and returns the response indicating which authentication methods to pursue

Source

fn 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,

Issues a challenge and returns the answers to the questions asked.

Source

fn verify<'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,

Requests verification of some kind and text, returning true if passed verification.

Source

fn 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,

Reports information with no response expected.

Source

fn 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,

Reports an error occurred during authentication, consuming the authenticator since no more challenges should be issued.

Source

fn 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,

Reports that the authentication has started for a specific method.

Source

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

Reports that the authentication has finished successfully, consuming the authenticator since no more challenges should be issued.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§