From fa248243b656447d8f9a3c19d6c4a8b5ab01179d Mon Sep 17 00:00:00 2001 From: Andrew Haisting <142518658+ahaisting-livefront@users.noreply.github.com> Date: Wed, 23 Oct 2024 11:17:31 -0500 Subject: [PATCH] BITAU-112 Support deep link into add item flow from Authenticator app (#4128) --- ...enticatorbridge-0.1.0-SNAPSHOT-release.aar | Bin 81074 -> 81458 bytes .../java/com/x8bit/bitwarden/MainViewModel.kt | 19 ++- .../AddTotpItemFromAuthenticatorManager.kt | 15 +++ ...AddTotpItemFromAuthenticatorManagerImpl.kt | 11 ++ .../data/auth/manager/di/AuthManagerModule.kt | 7 ++ .../manager/di/PlatformManagerModule.kt | 5 + .../AuthenticatorBridgeProcessorImpl.kt | 29 +++-- .../AddTotpIntentFromAuthenticatorUtils.kt | 41 +++++++ .../com/x8bit/bitwarden/MainViewModelTest.kt | 72 +++++++++++ .../AddTotpItemFromAuthenticatorTest.kt | 26 ++++ .../AuthenticatorBridgeProcessorTest.kt | 112 +++++++++++++++++- .../IAuthenticatorBridgeService.aidl | 11 +- .../manager/AuthenticatorBridgeManager.kt | 10 ++ .../manager/AuthenticatorBridgeManagerImpl.kt | 26 +++- .../util/EncryptionUtils.kt | 2 +- 15 files changed, 365 insertions(+), 21 deletions(-) create mode 100644 app/src/main/java/com/x8bit/bitwarden/data/auth/manager/AddTotpItemFromAuthenticatorManager.kt create mode 100644 app/src/main/java/com/x8bit/bitwarden/data/auth/manager/AddTotpItemFromAuthenticatorManagerImpl.kt create mode 100644 app/src/main/java/com/x8bit/bitwarden/data/platform/util/AddTotpIntentFromAuthenticatorUtils.kt create mode 100644 app/src/test/java/com/x8bit/bitwarden/data/auth/manager/AddTotpItemFromAuthenticatorTest.kt diff --git a/app/libs/authenticatorbridge-0.1.0-SNAPSHOT-release.aar b/app/libs/authenticatorbridge-0.1.0-SNAPSHOT-release.aar index aa6f2e076ac50b2b2ca2deb940d5c12e8b10528b..9436cdc4e365799b72d808da5370b1e33de5034d 100644 GIT binary patch delta 79501 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 XIRO=yU^f9omz+ES5C(lY0RR91d+>AF delta 79118 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 E0C() } private val scope by lazy { CoroutineScope(dispatcherManager.default) } @@ -101,13 +109,18 @@ class AuthenticatorBridgeProcessorImpl( } } - override fun createAddTotpLoginItemIntent(): Intent { - // TODO: BITAU-112 - return Intent() - } - - override fun setPendingAddTotpLoginItemData(data: EncryptedAddTotpLoginItemData?) { - // TODO: BITAU-112 + override fun startAddTotpLoginItemFlow(data: EncryptedAddTotpLoginItemData): Boolean { + val symmetricEncryptionKey = symmetricEncryptionKeyData ?: return false + val intent = createAddTotpItemFromAuthenticatorIntent(context = applicationContext) + val totpData = data.decrypt(symmetricEncryptionKey) + .getOrNull() + ?.totpUri + ?.toUri() + ?.getTotpDataOrNull() + ?: return false + addTotpItemFromAuthenticatorManager.pendingAddTotpLoginItemData = totpData + applicationContext.startActivity(intent) + return true } } } diff --git a/app/src/main/java/com/x8bit/bitwarden/data/platform/util/AddTotpIntentFromAuthenticatorUtils.kt b/app/src/main/java/com/x8bit/bitwarden/data/platform/util/AddTotpIntentFromAuthenticatorUtils.kt new file mode 100644 index 000000000..52b725c04 --- /dev/null +++ b/app/src/main/java/com/x8bit/bitwarden/data/platform/util/AddTotpIntentFromAuthenticatorUtils.kt @@ -0,0 +1,41 @@ +@file:OmitFromCoverage + +package com.x8bit.bitwarden.data.platform.util + +import android.content.Context +import android.content.Intent +import android.content.Intent.FLAG_ACTIVITY_NEW_TASK +import android.content.Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED +import android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP +import com.x8bit.bitwarden.MainActivity +import com.x8bit.bitwarden.data.auth.manager.AddTotpItemFromAuthenticatorManager +import com.x8bit.bitwarden.data.platform.annotation.OmitFromCoverage + +private const val ADD_TOTP_ITEM_FROM_AUTHENTICATOR_KEY = "add-totp-item-from-authenticator-key" + +/** + * Creates an intent for launching add TOTP item flow from the Authenticator app. + */ +fun createAddTotpItemFromAuthenticatorIntent( + context: Context, +): Intent = + Intent( + context, + MainActivity::class.java, + ) + .apply { + putExtra( + ADD_TOTP_ITEM_FROM_AUTHENTICATOR_KEY, + true, + ) + addFlags(FLAG_ACTIVITY_NEW_TASK) + addFlags(FLAG_ACTIVITY_SINGLE_TOP) + addFlags(FLAG_ACTIVITY_RESET_TASK_IF_NEEDED) + } + +/** + * Returns true if the Intent was started by the Authenticator app to add a TOTP item. The TOTP + * item can be found in [AddTotpItemFromAuthenticatorManager]. + */ +fun Intent.isAddTotpLoginItemFromAuthenticator(): Boolean = + getBooleanExtra(ADD_TOTP_ITEM_FROM_AUTHENTICATOR_KEY, false) diff --git a/app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt index d55434390..053ae47a9 100644 --- a/app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt @@ -6,6 +6,7 @@ import androidx.lifecycle.SavedStateHandle import app.cash.turbine.test import com.bitwarden.vault.CipherView import com.x8bit.bitwarden.data.auth.datasource.disk.model.OnboardingStatus +import com.x8bit.bitwarden.data.auth.manager.AddTotpItemFromAuthenticatorManagerImpl import com.x8bit.bitwarden.data.auth.repository.AuthRepository import com.x8bit.bitwarden.data.auth.repository.model.EmailTokenResult import com.x8bit.bitwarden.data.auth.repository.model.SwitchAccountResult @@ -43,6 +44,7 @@ import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepository import com.x8bit.bitwarden.data.platform.repository.SettingsRepository import com.x8bit.bitwarden.data.platform.repository.model.Environment import com.x8bit.bitwarden.data.platform.repository.util.bufferedMutableSharedFlow +import com.x8bit.bitwarden.data.platform.util.isAddTotpLoginItemFromAuthenticator import com.x8bit.bitwarden.data.vault.manager.model.VaultStateEvent import com.x8bit.bitwarden.data.vault.repository.VaultRepository import com.x8bit.bitwarden.ui.platform.base.BaseViewModelTest @@ -79,6 +81,7 @@ class MainViewModelTest : BaseViewModelTest() { private val autofillSelectionManager: AutofillSelectionManager = AutofillSelectionManagerImpl() private val accessibilitySelectionManager: AccessibilitySelectionManager = AccessibilitySelectionManagerImpl() + private val addTotpItemAuthenticatorManager = AddTotpItemFromAuthenticatorManagerImpl() private val mutableUserStateFlow = MutableStateFlow(null) private val mutableAppThemeFlow = MutableStateFlow(AppTheme.DEFAULT) private val mutableScreenCaptureAllowedFlow = MutableStateFlow(true) @@ -131,6 +134,7 @@ class MainViewModelTest : BaseViewModelTest() { Intent::getFido2AssertionRequestOrNull, Intent::getFido2CredentialRequestOrNull, Intent::getFido2GetCredentialsRequestOrNull, + Intent::isAddTotpLoginItemFromAuthenticator, ) mockkStatic( Intent::isMyVaultShortcut, @@ -150,6 +154,7 @@ class MainViewModelTest : BaseViewModelTest() { Intent::getFido2AssertionRequestOrNull, Intent::getFido2CredentialRequestOrNull, Intent::getFido2GetCredentialsRequestOrNull, + Intent::isAddTotpLoginItemFromAuthenticator, ) unmockkStatic( Intent::isMyVaultShortcut, @@ -321,6 +326,38 @@ class MainViewModelTest : BaseViewModelTest() { ) } + @Suppress("MaxLineLength") + @Test + fun `on ReceiveFirstIntent with TOTP data from Authenticator app should set the special circumstance to AddTotpLoginItem and clear pendingAddTotpLoginItemData`() { + val viewModel = createViewModel() + val totpData = mockk() + val mockIntent = createMockIntent( + mockIsAddTotpLoginItemFromAuthenticator = true, + ) + addTotpItemAuthenticatorManager.pendingAddTotpLoginItemData = totpData + + viewModel.trySendAction(MainAction.ReceiveFirstIntent(intent = mockIntent)) + assertEquals( + SpecialCircumstance.AddTotpLoginItem(data = totpData), + specialCircumstanceManager.specialCircumstance, + ) + assertNull(addTotpItemAuthenticatorManager.pendingAddTotpLoginItemData) + } + + @Suppress("MaxLineLength") + @Test + fun `on ReceiveFirstIntent when intent is from Authenticator app but pending item is null should not set special circumstance`() { + val viewModel = createViewModel() + val mockIntent = createMockIntent( + mockIsAddTotpLoginItemFromAuthenticator = true, + ) + addTotpItemAuthenticatorManager.pendingAddTotpLoginItemData = null + + viewModel.trySendAction(MainAction.ReceiveFirstIntent(intent = mockIntent)) + assertNull(specialCircumstanceManager.specialCircumstance) + assertNull(addTotpItemAuthenticatorManager.pendingAddTotpLoginItemData) + } + @Suppress("MaxLineLength") @Test fun `on ReceiveFirstIntent with share data should set the special circumstance to ShareNewSend`() { @@ -748,6 +785,38 @@ class MainViewModelTest : BaseViewModelTest() { ) } + @Suppress("MaxLineLength") + @Test + fun `on ReceiveNewIntent with TOTP data from Authenticator app should set the special circumstance to AddTotpLoginItem and clear pendingAddTotpLoginItemData`() { + val viewModel = createViewModel() + val totpData = mockk() + val mockIntent = createMockIntent( + mockIsAddTotpLoginItemFromAuthenticator = true, + ) + addTotpItemAuthenticatorManager.pendingAddTotpLoginItemData = totpData + + viewModel.trySendAction(MainAction.ReceiveNewIntent(intent = mockIntent)) + assertEquals( + SpecialCircumstance.AddTotpLoginItem(data = totpData), + specialCircumstanceManager.specialCircumstance, + ) + assertNull(addTotpItemAuthenticatorManager.pendingAddTotpLoginItemData) + } + + @Suppress("MaxLineLength") + @Test + fun `on ReceiveNewIntent when intent is from Authenticator app but pending item is null should not set special circumstance`() { + val viewModel = createViewModel() + val mockIntent = createMockIntent( + mockIsAddTotpLoginItemFromAuthenticator = true, + ) + addTotpItemAuthenticatorManager.pendingAddTotpLoginItemData = null + + viewModel.trySendAction(MainAction.ReceiveNewIntent(intent = mockIntent)) + assertNull(specialCircumstanceManager.specialCircumstance) + assertNull(addTotpItemAuthenticatorManager.pendingAddTotpLoginItemData) + } + @Suppress("MaxLineLength") @Test fun `on ReceiveNewIntent with autofill data should set the special circumstance to AutofillSelection`() { @@ -943,6 +1012,7 @@ class MainViewModelTest : BaseViewModelTest() { initialSpecialCircumstance: SpecialCircumstance? = null, ) = MainViewModel( accessibilitySelectionManager = accessibilitySelectionManager, + addTotpItemFromAuthenticatorManager = addTotpItemAuthenticatorManager, autofillSelectionManager = autofillSelectionManager, specialCircumstanceManager = specialCircumstanceManager, garbageCollectionManager = garbageCollectionManager, @@ -1013,6 +1083,7 @@ private fun createMockIntent( mockIsMyVaultShortcut: Boolean = false, mockIsPasswordGeneratorShortcut: Boolean = false, mockIsAccountSecurityShortcut: Boolean = false, + mockIsAddTotpLoginItemFromAuthenticator: Boolean = false, ): Intent = mockk { every { getTotpDataOrNull() } returns mockTotpData every { getPasswordlessRequestDataIntentOrNull() } returns mockPasswordlessRequestData @@ -1025,6 +1096,7 @@ private fun createMockIntent( every { isMyVaultShortcut } returns mockIsMyVaultShortcut every { isPasswordGeneratorShortcut } returns mockIsPasswordGeneratorShortcut every { isAccountSecurityShortcut } returns mockIsAccountSecurityShortcut + every { isAddTotpLoginItemFromAuthenticator() } returns mockIsAddTotpLoginItemFromAuthenticator } private val FIXED_CLOCK: Clock = Clock.fixed( diff --git a/app/src/test/java/com/x8bit/bitwarden/data/auth/manager/AddTotpItemFromAuthenticatorTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/auth/manager/AddTotpItemFromAuthenticatorTest.kt new file mode 100644 index 000000000..a60233c23 --- /dev/null +++ b/app/src/test/java/com/x8bit/bitwarden/data/auth/manager/AddTotpItemFromAuthenticatorTest.kt @@ -0,0 +1,26 @@ +package com.x8bit.bitwarden.data.auth.manager + +import com.x8bit.bitwarden.ui.vault.model.TotpData +import io.mockk.mockk +import org.junit.Test +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Assertions.assertNull + +class AddTotpItemFromAuthenticatorTest { + + @Test + fun `pendingAddTotpLoginItemData should start as null and keep value when set`() { + val manager = AddTotpItemFromAuthenticatorManagerImpl() + assertNull(manager.pendingAddTotpLoginItemData) + + val totpData: TotpData = mockk() + manager.pendingAddTotpLoginItemData = totpData + assertEquals( + totpData, + manager.pendingAddTotpLoginItemData, + ) + + manager.pendingAddTotpLoginItemData = null + assertNull(manager.pendingAddTotpLoginItemData) + } +} diff --git a/app/src/test/java/com/x8bit/bitwarden/data/platform/processor/AuthenticatorBridgeProcessorTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/platform/processor/AuthenticatorBridgeProcessorTest.kt index 483de21d6..4eae793d8 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/platform/processor/AuthenticatorBridgeProcessorTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/platform/processor/AuthenticatorBridgeProcessorTest.kt @@ -1,29 +1,42 @@ package com.x8bit.bitwarden.data.platform.processor +import android.content.Context +import android.content.Intent +import android.net.Uri import android.os.Build import android.os.RemoteCallbackList import com.bitwarden.authenticatorbridge.IAuthenticatorBridgeService import com.bitwarden.authenticatorbridge.IAuthenticatorBridgeServiceCallback +import com.bitwarden.authenticatorbridge.model.AddTotpLoginItemData +import com.bitwarden.authenticatorbridge.model.EncryptedAddTotpLoginItemData import com.bitwarden.authenticatorbridge.model.EncryptedSharedAccountData import com.bitwarden.authenticatorbridge.model.SharedAccountData import com.bitwarden.authenticatorbridge.util.AUTHENTICATOR_BRIDGE_SDK_VERSION +import com.bitwarden.authenticatorbridge.util.decrypt import com.bitwarden.authenticatorbridge.util.encrypt import com.bitwarden.authenticatorbridge.util.generateSecretKey import com.bitwarden.authenticatorbridge.util.toFingerprint import com.bitwarden.authenticatorbridge.util.toSymmetricEncryptionKeyData +import com.x8bit.bitwarden.data.auth.manager.AddTotpItemFromAuthenticatorManagerImpl import com.x8bit.bitwarden.data.platform.base.FakeDispatcherManager import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.repository.AuthenticatorBridgeRepository import com.x8bit.bitwarden.data.platform.util.asSuccess +import com.x8bit.bitwarden.data.platform.util.createAddTotpItemFromAuthenticatorIntent import com.x8bit.bitwarden.data.platform.util.isBuildVersionBelow +import com.x8bit.bitwarden.ui.vault.model.TotpData +import com.x8bit.bitwarden.ui.vault.util.getTotpDataOrNull import io.mockk.coEvery import io.mockk.coVerify import io.mockk.every +import io.mockk.just import io.mockk.mockk import io.mockk.mockkConstructor import io.mockk.mockkStatic +import io.mockk.runs import io.mockk.unmockkStatic +import io.mockk.verify import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertFalse @@ -37,23 +50,44 @@ import org.junit.jupiter.api.Test class AuthenticatorBridgeProcessorTest { private val featureFlagManager = mockk() + private val addTotpItemFromAuthenticatorManager = AddTotpItemFromAuthenticatorManagerImpl() private val authenticatorBridgeRepository = mockk() + private val context = mockk { + every { applicationContext } returns this@mockk + } private lateinit var bridgeServiceProcessor: AuthenticatorBridgeProcessorImpl @BeforeEach fun setup() { bridgeServiceProcessor = AuthenticatorBridgeProcessorImpl( + addTotpItemFromAuthenticatorManager = addTotpItemFromAuthenticatorManager, authenticatorBridgeRepository = authenticatorBridgeRepository, + context = context, featureFlagManager = featureFlagManager, dispatcherManager = FakeDispatcherManager(), ) + mockkStatic(::createAddTotpItemFromAuthenticatorIntent) + mockkStatic( + SharedAccountData::encrypt, + EncryptedAddTotpLoginItemData::decrypt, + Uri::parse, + Uri::getTotpDataOrNull, + ) } @AfterEach fun teardown() { - unmockkStatic(::isBuildVersionBelow) - unmockkStatic(SharedAccountData::encrypt) + unmockkStatic( + ::createAddTotpItemFromAuthenticatorIntent, + ::isBuildVersionBelow, + ) + unmockkStatic( + SharedAccountData::encrypt, + EncryptedAddTotpLoginItemData::decrypt, + Uri::parse, + Uri::getTotpDataOrNull, + ) } @Test @@ -139,6 +173,80 @@ class AuthenticatorBridgeProcessorTest { assertEquals(SYMMETRIC_KEY, binder.symmetricEncryptionKeyData) } + @Test + @Suppress("MaxLineLength") + fun `startAddTotpLoginItemFlow should return false when symmetricEncryptionKeyData is null`() { + val binder = getDefaultBinder() + every { authenticatorBridgeRepository.authenticatorSyncSymmetricKey } returns null + val data: EncryptedAddTotpLoginItemData = mockk() + assertFalse(binder.startAddTotpLoginItemFlow(data)) + verify { authenticatorBridgeRepository.authenticatorSyncSymmetricKey } + } + + @Test + @Suppress("MaxLineLength") + fun `startAddTotpLoginItemFlow should return false when decryption fails`() { + val binder = getDefaultBinder() + val intent: Intent = mockk() + val data: EncryptedAddTotpLoginItemData = mockk() + every { + authenticatorBridgeRepository.authenticatorSyncSymmetricKey + } returns SYMMETRIC_KEY.symmetricEncryptionKey.byteArray + every { createAddTotpItemFromAuthenticatorIntent(context) } returns intent + every { data.decrypt(SYMMETRIC_KEY) } returns Result.failure(RuntimeException()) + assertFalse(binder.startAddTotpLoginItemFlow(data)) + verify { authenticatorBridgeRepository.authenticatorSyncSymmetricKey } + } + + @Test + @Suppress("MaxLineLength") + fun `startAddTotpLoginItemFlow should return false when getTotpDataOrNull returns null`() { + val binder = getDefaultBinder() + val intent: Intent = mockk() + val totpUri = "totpUri" + val uri: Uri = mockk() + every { Uri.parse(totpUri) } returns uri + val data: EncryptedAddTotpLoginItemData = mockk() + val decryptedData: AddTotpLoginItemData = mockk() + every { + authenticatorBridgeRepository.authenticatorSyncSymmetricKey + } returns SYMMETRIC_KEY.symmetricEncryptionKey.byteArray + every { createAddTotpItemFromAuthenticatorIntent(context) } returns intent + every { data.decrypt(SYMMETRIC_KEY) } returns Result.success(decryptedData) + every { decryptedData.totpUri } returns totpUri + every { uri.getTotpDataOrNull() } returns null + assertFalse(binder.startAddTotpLoginItemFlow(data)) + verify { authenticatorBridgeRepository.authenticatorSyncSymmetricKey } + } + + @Test + @Suppress("MaxLineLength") + fun `startAddTotpLoginItemFlow should return true and set pendingAddTotpLoginItemData when getTotpDataOrNull succeeds`() { + val binder = getDefaultBinder() + val intent: Intent = mockk() + val totpUri = "totpUri" + val uri: Uri = mockk() + every { Uri.parse(totpUri) } returns uri + val expectedPendingData: TotpData = mockk() + val data: EncryptedAddTotpLoginItemData = mockk() + val decryptedData: AddTotpLoginItemData = mockk() + every { + authenticatorBridgeRepository.authenticatorSyncSymmetricKey + } returns SYMMETRIC_KEY.symmetricEncryptionKey.byteArray + every { createAddTotpItemFromAuthenticatorIntent(context) } returns intent + every { data.decrypt(SYMMETRIC_KEY) } returns Result.success(decryptedData) + every { decryptedData.totpUri } returns totpUri + every { uri.getTotpDataOrNull() } returns expectedPendingData + every { context.startActivity(intent) } just runs + assertTrue(binder.startAddTotpLoginItemFlow(data)) + assertEquals( + expectedPendingData, + addTotpItemFromAuthenticatorManager.pendingAddTotpLoginItemData, + ) + verify { context.startActivity(intent) } + verify { authenticatorBridgeRepository.authenticatorSyncSymmetricKey } + } + @Nested inner class SyncAccountsTest { diff --git a/authenticatorbridge/src/main/aidl/com/bitwarden/authenticatorbridge/IAuthenticatorBridgeService.aidl b/authenticatorbridge/src/main/aidl/com/bitwarden/authenticatorbridge/IAuthenticatorBridgeService.aidl index 431cb9937..9ab0b703d 100644 --- a/authenticatorbridge/src/main/aidl/com/bitwarden/authenticatorbridge/IAuthenticatorBridgeService.aidl +++ b/authenticatorbridge/src/main/aidl/com/bitwarden/authenticatorbridge/IAuthenticatorBridgeService.aidl @@ -49,13 +49,8 @@ interface IAuthenticatorBridgeService { // Add TOTP Item // ============== - // Returns an intent that can be launched to navigate the user to the add Totp item flow - // in the main password manager app. - Intent createAddTotpLoginItemIntent(); - - // Give the given TOTP item data to the main Bitwarden app before launching the add TOTP - // item flow. This should be called before launching the intent returned from - // createAddTotpLoginItemIntent(). - void setPendingAddTotpLoginItemData(in EncryptedAddTotpLoginItemData data); + // Start the add TOTP item flow in the main Bitwarden app with the given data. + // Returns true if the flow was successfully launched and false otherwise. + boolean startAddTotpLoginItemFlow(in EncryptedAddTotpLoginItemData data); } diff --git a/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/manager/AuthenticatorBridgeManager.kt b/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/manager/AuthenticatorBridgeManager.kt index 4871017d7..abec491da 100644 --- a/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/manager/AuthenticatorBridgeManager.kt +++ b/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/manager/AuthenticatorBridgeManager.kt @@ -1,5 +1,7 @@ package com.bitwarden.authenticatorbridge.manager +import android.content.Intent +import android.net.Uri import com.bitwarden.authenticatorbridge.IAuthenticatorBridgeService import com.bitwarden.authenticatorbridge.manager.model.AccountSyncState import kotlinx.coroutines.flow.StateFlow @@ -14,4 +16,12 @@ interface AuthenticatorBridgeManager { * State flow representing the current [AccountSyncState]. */ val accountSyncStateFlow: StateFlow + + /** + * Start the add TOTP item flow in the main Bitwarden app with the given data. + * + * @param totpUri TOTP URI to add to the main Bitwarden app. + * @return true if the flow was successfully launched, false otherwise. + */ + fun startAddTotpLoginItemFlow(totpUri: String): Boolean } diff --git a/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/manager/AuthenticatorBridgeManagerImpl.kt b/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/manager/AuthenticatorBridgeManagerImpl.kt index 678b6ebda..263506cfc 100644 --- a/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/manager/AuthenticatorBridgeManagerImpl.kt +++ b/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/manager/AuthenticatorBridgeManagerImpl.kt @@ -7,6 +7,7 @@ import android.content.ServiceConnection import android.content.pm.PackageManager.NameNotFoundException import android.os.Build import android.os.IBinder +import android.util.Log import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.ProcessLifecycleOwner @@ -14,11 +15,13 @@ import com.bitwarden.authenticatorbridge.IAuthenticatorBridgeService import com.bitwarden.authenticatorbridge.manager.model.AccountSyncState import com.bitwarden.authenticatorbridge.manager.model.AuthenticatorBridgeConnectionType import com.bitwarden.authenticatorbridge.manager.util.toPackageName +import com.bitwarden.authenticatorbridge.model.AddTotpLoginItemData import com.bitwarden.authenticatorbridge.model.EncryptedSharedAccountData import com.bitwarden.authenticatorbridge.provider.AuthenticatorBridgeCallbackProvider import com.bitwarden.authenticatorbridge.provider.StubAuthenticatorBridgeCallbackProvider import com.bitwarden.authenticatorbridge.provider.SymmetricKeyStorageProvider import com.bitwarden.authenticatorbridge.util.decrypt +import com.bitwarden.authenticatorbridge.util.encrypt import com.bitwarden.authenticatorbridge.util.isBuildVersionBelow import com.bitwarden.authenticatorbridge.util.toFingerprint import kotlinx.coroutines.flow.MutableStateFlow @@ -103,6 +106,21 @@ internal class AuthenticatorBridgeManagerImpl( ) } + override fun startAddTotpLoginItemFlow(totpUri: String): Boolean = + bridgeService + ?.safeCall { + // Grab symmetric key data from local storage: + val symmetricKey = symmetricKeyStorageProvider.symmetricKey ?: return@safeCall false + // Encrypt the given URI: + val addTotpData = AddTotpLoginItemData(totpUri).encrypt(symmetricKey).getOrThrow() + return@safeCall this.startAddTotpLoginItemFlow(addTotpData) + } + ?.fold( + onFailure = { false }, + onSuccess = { true } + ) + ?: false + private fun bindService() { if (isBuildVersionBelow(Build.VERSION_CODES.S)) { mutableSharedAccountsStateFlow.value = AccountSyncState.OsVersionNotSupported @@ -119,11 +137,17 @@ internal class AuthenticatorBridgeManagerImpl( ) } + val flags = if (isBuildVersionBelow(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)) { + Context.BIND_AUTO_CREATE + } else { + Context.BIND_AUTO_CREATE or Context.BIND_ALLOW_ACTIVITY_STARTS + } + val isBound = try { applicationContext.bindService( intent, bridgeServiceConnection, - Context.BIND_AUTO_CREATE, + flags, ) } catch (e: SecurityException) { unbindService() diff --git a/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/util/EncryptionUtils.kt b/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/util/EncryptionUtils.kt index c54061c1c..6bfb2d480 100644 --- a/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/util/EncryptionUtils.kt +++ b/authenticatorbridge/src/main/java/com/bitwarden/authenticatorbridge/util/EncryptionUtils.kt @@ -118,7 +118,7 @@ internal fun AddTotpLoginItemData.encrypt( * * @param symmetricEncryptionKeyData Symmetric key used for decryption. */ -internal fun EncryptedAddTotpLoginItemData.decrypt( +fun EncryptedAddTotpLoginItemData.decrypt( symmetricEncryptionKeyData: SymmetricEncryptionKeyData, ): Result = runCatching { val encodedKey = symmetricEncryptionKeyData