diff --git a/sharing/nearby_sharing_service_impl.cc b/sharing/nearby_sharing_service_impl.cc index e5223378ff5..039127c8207 100644 --- a/sharing/nearby_sharing_service_impl.cc +++ b/sharing/nearby_sharing_service_impl.cc @@ -2465,13 +2465,6 @@ void NearbySharingServiceImpl::OnOutgoingConnection( (context_->GetClock()->Now() - connect_start_time)), /*referrer_package=*/std::nullopt); - std::optional> token = - nearby_connections_manager_->GetRawAuthenticationToken( - session.endpoint_id()); - if (!token.has_value()) { - session.Abort(TransferMetadata::Status::kDeviceAuthenticationFailed); - return; - } session.RunPairedKeyVerification( ToProtoOsType(device_info_.GetOsType()), { @@ -2479,7 +2472,7 @@ void NearbySharingServiceImpl::OnOutgoingConnection( .last_visibility = settings_->GetLastVisibility(), .last_visibility_time = settings_->GetLastVisibilityTimestamp(), }, - GetCertificateManager(), *token, + GetCertificateManager(), absl::bind_front( &NearbySharingServiceImpl::OnOutgoingConnectionKeyVerificationDone, this, share_target_id)); @@ -2821,14 +2814,6 @@ void NearbySharingServiceImpl::OnIncomingDecryptedCertificate( connection->SetDisconnectionListener( [this, share_target_id]() { OnConnectionDisconnected(share_target_id); }); - std::optional> token = - nearby_connections_manager_->GetRawAuthenticationToken( - session.endpoint_id()); - - if (!token.has_value()) { - session.Abort(TransferMetadata::Status::kDeviceAuthenticationFailed); - return; - } session.RunPairedKeyVerification( ToProtoOsType(device_info_.GetOsType()), { @@ -2836,7 +2821,7 @@ void NearbySharingServiceImpl::OnIncomingDecryptedCertificate( .last_visibility = settings_->GetLastVisibility(), .last_visibility_time = settings_->GetLastVisibilityTimestamp(), }, - GetCertificateManager(), *token, + GetCertificateManager(), absl::bind_front( &NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone, this, share_target_id)); diff --git a/sharing/share_session.cc b/sharing/share_session.cc index 2c0fb34aa58..0bb96d4cd88 100644 --- a/sharing/share_session.cc +++ b/sharing/share_session.cc @@ -158,11 +158,16 @@ void ShareSession::RunPairedKeyVerification( OSType os_type, const PairedKeyVerificationRunner::VisibilityHistory& visibility_history, NearbyShareCertificateManager* certificate_manager, - const std::vector& token, std::function callback) { - token_ = TokenToFourDigitString(token); + std::optional> token = + connections_manager_.GetRawAuthenticationToken(endpoint_id()); + if (!token.has_value()) { + Abort(TransferMetadata::Status::kDeviceAuthenticationFailed); + return; + } + token_ = TokenToFourDigitString(*token); key_verification_runner_ = std::make_shared( &clock_, os_type, IsIncoming(), visibility_history, token, connection_, diff --git a/sharing/share_session.h b/sharing/share_session.h index 1a9d9b796b3..d4e34e1ac40 100644 --- a/sharing/share_session.h +++ b/sharing/share_session.h @@ -116,7 +116,6 @@ class ShareSession { location::nearby::proto::sharing::OSType os_type, const PairedKeyVerificationRunner::VisibilityHistory& visibility_history, NearbyShareCertificateManager* certificate_manager, - const std::vector& token, std::function< void(PairedKeyVerificationRunner::PairedKeyVerificationResult, location::nearby::proto::sharing::OSType)> diff --git a/sharing/share_session_test.cc b/sharing/share_session_test.cc index 51c4f01bd47..009488a2273 100644 --- a/sharing/share_session_test.cc +++ b/sharing/share_session_test.cc @@ -171,6 +171,7 @@ TEST(ShareSessionTest, IncomingRunPairedKeyVerificationSuccess) { ShareTarget share_target; share_target.is_incoming = true; TestShareSession session(std::string(kEndpointId), share_target); + session.connections_manager().SetRawAuthenticationToken(kEndpointId, token); session.SetOnNewConnectionResult(true); absl::Time connect_start_time = absl::Now(); EXPECT_TRUE(session.OnConnected(connect_start_time, &connection)); @@ -185,7 +186,7 @@ TEST(ShareSessionTest, IncomingRunPairedKeyVerificationSuccess) { proto::DeviceVisibility::DEVICE_VISIBILITY_EVERYONE, .last_visibility_time = absl::Now(), }, - &certificate_manager, token, + &certificate_manager, [¬ification, &verification_result]( PairedKeyVerificationRunner::PairedKeyVerificationResult result, location::nearby::proto::sharing::OSType) {