From 2dcfe66f2e0b3d975a547412088f4efa31482b46 Mon Sep 17 00:00:00 2001 From: Anay Wadhera Date: Mon, 17 Jul 2023 12:29:03 -0700 Subject: [PATCH] update device provider api for multi-identity auth PiperOrigin-RevId: 548767413 --- .../v3/connections_device_provider_test.cc | 8 ++++---- internal/interop/device_provider.h | 18 +++++++++--------- presence/presence_device_provider.h | 12 +++++++++--- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/connections/v3/connections_device_provider_test.cc b/connections/v3/connections_device_provider_test.cc index a2050b74..408435ce 100644 --- a/connections/v3/connections_device_provider_test.cc +++ b/connections/v3/connections_device_provider_test.cc @@ -54,10 +54,10 @@ TEST(ConnectionsDeviceProviderTest, TestProviderWorksThreeArgs) { TEST(ConnectionsDeviceProviderTest, TestUnknownAuthStatus) { ConnectionsDeviceProvider provider(kEndpointId, kEndpointInfo, {}); MockAuthenticationTransport transport; - EXPECT_EQ(provider.AuthenticateConnection(/*local_device=*/nullptr, - /*remote_device=*/nullptr, - AuthenticationRole::kInitiator, - /*shared_secret=*/"", transport), + EXPECT_EQ(provider.AuthenticateAsInitiator(ConnectionsDevice("", {}), + /*shared_secret=*/"", transport), + AuthenticationStatus::kUnknown); + EXPECT_EQ(provider.AuthenticateAsResponder(/*shared_secret=*/"", transport), AuthenticationStatus::kUnknown); } diff --git a/internal/interop/device_provider.h b/internal/interop/device_provider.h index bcadd303..380e5c0c 100644 --- a/internal/interop/device_provider.h +++ b/internal/interop/device_provider.h @@ -20,12 +20,6 @@ namespace nearby { -enum class AuthenticationRole { - kUnknown = 0, - kInitiator = 1, - kReceiver = 2, -}; - enum class AuthenticationStatus { kUnknown = 0, kSuccess = 1, @@ -40,9 +34,15 @@ class NearbyDeviceProvider { virtual ~NearbyDeviceProvider() = default; const virtual NearbyDevice* GetLocalDevice() = 0; - virtual AuthenticationStatus AuthenticateConnection( - NearbyDevice* local_device, NearbyDevice* remote_device, - AuthenticationRole role, absl::string_view shared_secret, + virtual AuthenticationStatus AuthenticateAsInitiator( + const NearbyDevice& remote_device, absl::string_view shared_secret, + const AuthenticationTransport& authentication_transport) const { + // We want to check out-of-band by default (Show UKEY2 digits to user). + return AuthenticationStatus::kUnknown; + } + + virtual AuthenticationStatus AuthenticateAsResponder( + absl::string_view shared_secret, const AuthenticationTransport& authentication_transport) const { // We want to check out-of-band by default (Show UKEY2 digits to user). return AuthenticationStatus::kUnknown; diff --git a/presence/presence_device_provider.h b/presence/presence_device_provider.h index 3558f35f..0b63a939 100644 --- a/presence/presence_device_provider.h +++ b/presence/presence_device_provider.h @@ -28,9 +28,15 @@ class PresenceDeviceProvider : public NearbyDeviceProvider { : device_{metadata} {} const NearbyDevice* GetLocalDevice() override { return &device_; } - AuthenticationStatus AuthenticateConnection( - NearbyDevice* local_device, NearbyDevice* remote_device, - AuthenticationRole role, absl::string_view shared_secret, + AuthenticationStatus AuthenticateAsInitiator( + const NearbyDevice& remote_device, absl::string_view shared_secret, + const AuthenticationTransport& authentication_transport) const override { + // TODO(b/282027237): Implement. + return AuthenticationStatus::kUnknown; + } + + AuthenticationStatus AuthenticateAsResponder( + absl::string_view shared_secret, const AuthenticationTransport& authentication_transport) const override { // TODO(b/282027237): Implement. return AuthenticationStatus::kUnknown;