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.

Implementors§