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§
Sourcefn get_intent(&self) -> AuthIntent
fn get_intent(&self) -> AuthIntent
Returns if we even want to do auth.
Sourcefn sign_challenge(
&self,
client_chal: &ChallengeData,
server_chal: &ChallengeData,
side: Side,
) -> Result<Option<ResponseData>, AuthError>
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.
Sourcefn verify_response(
&self,
client_chal: &ChallengeData,
server_chal: &ChallengeData,
producer_side: Side,
resp: &ResponseData,
) -> Result<Option<Identity>, AuthError>
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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl AuthConfig for ()
Stub auth config for not doing any authentication.
impl AuthConfig for ()
Stub auth config for not doing any authentication.