diff --git a/native/cpp/CommonCpp/grpc/grpc_client/src/lib.rs b/native/cpp/CommonCpp/grpc/grpc_client/src/lib.rs --- a/native/cpp/CommonCpp/grpc/grpc_client/src/lib.rs +++ b/native/cpp/CommonCpp/grpc/grpc_client/src/lib.rs @@ -87,6 +87,7 @@ user_id: String, device_id: String, password: String, + user_public_key: String, ) -> Result; fn login_user_wallet_blocking( client: Box, @@ -255,6 +256,7 @@ user_id: String, device_id: String, password: String, + user_public_key: String, ) -> Result { // Create a LoginRequest channel and use ReceiverStream to turn the // MPSC receiver into a Stream for outbound messages @@ -286,6 +288,7 @@ error!("Could not serialize credential request: {}", e); Status::failed_precondition("PAKE failure") })?, + user_public_key, }, )), })), @@ -318,8 +321,15 @@ user_id: String, device_id: String, password: String, + user_public_key: String, ) -> Result { - RUNTIME.block_on(login_user_pake(client, user_id, device_id, password)) + RUNTIME.block_on(login_user_pake( + client, + user_id, + device_id, + password, + user_public_key, + )) } async fn login_user_wallet( diff --git a/shared/protos/identity.proto b/shared/protos/identity.proto --- a/shared/protos/identity.proto +++ b/shared/protos/identity.proto @@ -32,6 +32,7 @@ string deviceID = 2; // Message sent to initiate PAKE login (step 1) bytes pakeCredentialRequest = 3; + string userPublicKey = 4; } message PakeLoginRequest {