Trait ecksport_core::traits::AuthConfig

source ·
pub trait AuthConfig: Clone {
    // Required methods
    fn get_intent(&self) -> AuthIntent;
    fn sign_challenge(
        &self,
        client_chal: &ChallengeData,
        server_chal: &ChallengeData,
        side: Side,
    ) -> Result<Option<ResponseData>, AuthError>;
    fn verify_response(
        &self,
        client_chal: &ChallengeData,
        server_chal: &ChallengeData,
        producer_side: Side,
        resp: &ResponseData,
    ) -> Result<Option<Identity>, AuthError>;
}
Expand description

Represents authentication scheme’s configuration data that we use during connection setup.

Required Methods§

source

fn get_intent(&self) -> AuthIntent

Returns if we even want to do auth.

source

fn sign_challenge( &self, client_chal: &ChallengeData, server_chal: &ChallengeData, side: Side, ) -> Result<Option<ResponseData>, AuthError>

Potentially produces a challenge’s response, given the two challenge datas and where we are.

source

fn verify_response( &self, client_chal: &ChallengeData, server_chal: &ChallengeData, producer_side: Side, resp: &ResponseData, ) -> Result<Option<Identity>, AuthError>

Verifies a response to a pair of challenge datas and the side that produced it. Returns the signed for identity, if possible.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl AuthConfig for ()

Stub auth config for not doing any authentication.

source§

fn get_intent(&self) -> AuthIntent

source§

fn sign_challenge( &self, _client_chal: &ChallengeData, _server_chal: &ChallengeData, _side: Side, ) -> Result<Option<ResponseData>, AuthError>

source§

fn verify_response( &self, _client_chal: &ChallengeData, _server_chal: &ChallengeData, _producer_side: Side, _resp: &ResponseData, ) -> Result<Option<Identity>, AuthError>

Implementors§