Changeset View
Changeset View
Standalone View
Standalone View
services/identity/src/service/login.rs
Show First 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | match message { | ||||
} | } | ||||
Some(_) | None => Err(Status::aborted("failure")), | Some(_) | None => Err(Status::aborted("failure")), | ||||
} | } | ||||
} | } | ||||
pub async fn handle_credential_finalization( | pub async fn handle_credential_finalization( | ||||
message: Option<Result<LoginRequest, Status>>, | message: Option<Result<LoginRequest, Status>>, | ||||
tx: mpsc::Sender<Result<LoginResponse, Status>>, | tx: mpsc::Sender<Result<LoginResponse, Status>>, | ||||
client: DatabaseClient, | client: &DatabaseClient, | ||||
login_state: LoginState, | login_state: LoginState, | ||||
) -> Result<(), Status> { | ) -> Result<(), Status> { | ||||
match message { | match message { | ||||
Some(Ok(LoginRequest { | Some(Ok(LoginRequest { | ||||
data: | data: | ||||
Some(PakeLoginRequest(PakeLoginRequestStruct { | Some(PakeLoginRequest(PakeLoginRequestStruct { | ||||
data: Some(PakeCredentialFinalization(pake_credential_finalization)), | data: Some(PakeCredentialFinalization(pake_credential_finalization)), | ||||
})), | })), | ||||
})) => { | })) => { | ||||
let login_finish_result = pake_login_finish( | let login_finish_result = pake_login_finish( | ||||
&login_state.user_id, | &login_state.user_id, | ||||
&login_state.signing_public_key, | &login_state.signing_public_key, | ||||
&client, | client, | ||||
login_state.pake_state, | login_state.pake_state, | ||||
&pake_credential_finalization, | &pake_credential_finalization, | ||||
&mut OsRng, | &mut OsRng, | ||||
PakeWorkflow::Login, | PakeWorkflow::Login, | ||||
&login_state.session_initialization_info, | &login_state.session_initialization_info, | ||||
) | ) | ||||
.await | .await | ||||
.map(|pake_login_response| LoginResponse { | .map(|pake_login_response| LoginResponse { | ||||
Show All 11 Lines |