Skip to content

Commit db7ae1c

Browse files
PM-26577: Request 'https' scheme for Duo, WebAuthn, and SSO when applicable
1 parent 1f8280f commit db7ae1c

8 files changed

Lines changed: 51 additions & 59 deletions

File tree

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@
170170
<data android:scheme="https" />
171171
<data android:host="bitwarden.com" />
172172
<data android:host="bitwarden.eu" />
173+
<data android:host="bitwarden.pw" />
173174
<data android:pathPattern="/duo-callback" />
174175
<data android:pathPattern="/sso-callback" />
175176
<data android:pathPattern="/webauthn-callback" />

app/src/main/kotlin/com/x8bit/bitwarden/data/platform/util/EnvironmentUrlDataJsonExtensions.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,23 @@ private fun EnvironmentUrlDataJson.authTabData(
2323
kind: String,
2424
): AuthTabData = when (this.environmentRegion) {
2525
EnvironmentRegion.UNITED_STATES -> {
26-
// TODO: PM-26577 Update this to use a "HttpsScheme"
27-
AuthTabData.CustomScheme(
28-
callbackUrl = "bitwarden://$kind-callback",
26+
AuthTabData.HttpsScheme(
27+
host = "bitwarden.com",
28+
path = "$kind-callback",
2929
)
3030
}
3131

3232
EnvironmentRegion.EUROPEAN_UNION -> {
33-
// TODO: PM-26577 Update this to use a "HttpsScheme"
34-
AuthTabData.CustomScheme(
35-
callbackUrl = "bitwarden://$kind-callback",
33+
AuthTabData.HttpsScheme(
34+
host = "bitwarden.eu",
35+
path = "$kind-callback",
3636
)
3737
}
3838

3939
EnvironmentRegion.INTERNAL -> {
40-
// TODO: PM-26577 Update this to use a "HttpsScheme"
41-
AuthTabData.CustomScheme(
42-
callbackUrl = "bitwarden://$kind-callback",
40+
AuthTabData.HttpsScheme(
41+
host = "bitwarden.pw",
42+
path = "$kind-callback",
4343
)
4444
}
4545

app/src/test/kotlin/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7781,7 +7781,7 @@ class AuthRepositoryTest {
77817781
Instant.parse("2023-10-27T12:00:00Z"),
77827782
ZoneOffset.UTC,
77837783
)
7784-
private const val DEEPLINK_SCHEME = "bitwarden"
7784+
private const val DEEPLINK_SCHEME = "https"
77857785
private const val UNIQUE_APP_ID = "testUniqueAppId"
77867786
private const val NAME = "Example Name"
77877787
private const val EMAIL = "test@bitwarden.com"

app/src/test/kotlin/com/x8bit/bitwarden/data/platform/util/EnvironmentUrlDataJsonExtensionsTest.kt

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,24 @@ class EnvironmentUrlDataJsonExtensionsTest {
99

1010
@Test
1111
fun `duoAuthTabData should return the correct AuthTabData for all environments`() {
12-
// TODO: PM-26577 Update these to use a "HttpsScheme"
1312
assertEquals(
14-
AuthTabData.CustomScheme(
15-
callbackUrl = "bitwarden://duo-callback",
16-
callbackScheme = "bitwarden",
13+
AuthTabData.HttpsScheme(
14+
host = "bitwarden.com",
15+
path = "duo-callback",
1716
),
1817
EnvironmentUrlDataJson.DEFAULT_US.duoAuthTabData,
1918
)
2019
assertEquals(
21-
AuthTabData.CustomScheme(
22-
callbackUrl = "bitwarden://duo-callback",
23-
callbackScheme = "bitwarden",
20+
AuthTabData.HttpsScheme(
21+
host = "bitwarden.eu",
22+
path = "duo-callback",
2423
),
2524
EnvironmentUrlDataJson.DEFAULT_EU.duoAuthTabData,
2625
)
2726
assertEquals(
28-
AuthTabData.CustomScheme(
29-
callbackUrl = "bitwarden://duo-callback",
30-
callbackScheme = "bitwarden",
27+
AuthTabData.HttpsScheme(
28+
host = "bitwarden.pw",
29+
path = "duo-callback",
3130
),
3231
DEFAULT_INTERNAL_ENVIRONMENT_URL_DATA.duoAuthTabData,
3332
)
@@ -42,25 +41,24 @@ class EnvironmentUrlDataJsonExtensionsTest {
4241

4342
@Test
4443
fun `webAuthnAuthTabData should return the correct AuthTabData for all environments`() {
45-
// TODO: PM-26577 Update these to use a "HttpsScheme"
4644
assertEquals(
47-
AuthTabData.CustomScheme(
48-
callbackUrl = "bitwarden://webauthn-callback",
49-
callbackScheme = "bitwarden",
45+
AuthTabData.HttpsScheme(
46+
host = "bitwarden.com",
47+
path = "webauthn-callback",
5048
),
5149
EnvironmentUrlDataJson.DEFAULT_US.webAuthnAuthTabData,
5250
)
5351
assertEquals(
54-
AuthTabData.CustomScheme(
55-
callbackUrl = "bitwarden://webauthn-callback",
56-
callbackScheme = "bitwarden",
52+
AuthTabData.HttpsScheme(
53+
host = "bitwarden.eu",
54+
path = "webauthn-callback",
5755
),
5856
EnvironmentUrlDataJson.DEFAULT_EU.webAuthnAuthTabData,
5957
)
6058
assertEquals(
61-
AuthTabData.CustomScheme(
62-
callbackUrl = "bitwarden://webauthn-callback",
63-
callbackScheme = "bitwarden",
59+
AuthTabData.HttpsScheme(
60+
host = "bitwarden.pw",
61+
path = "webauthn-callback",
6462
),
6563
DEFAULT_INTERNAL_ENVIRONMENT_URL_DATA.webAuthnAuthTabData,
6664
)
@@ -75,25 +73,24 @@ class EnvironmentUrlDataJsonExtensionsTest {
7573

7674
@Test
7775
fun `ssoAuthTabData should return the correct AuthTabData for all environments`() {
78-
// TODO: PM-26577 Update these to use a "HttpsScheme"
7976
assertEquals(
80-
AuthTabData.CustomScheme(
81-
callbackUrl = "bitwarden://sso-callback",
82-
callbackScheme = "bitwarden",
77+
AuthTabData.HttpsScheme(
78+
host = "bitwarden.com",
79+
path = "sso-callback",
8380
),
8481
EnvironmentUrlDataJson.DEFAULT_US.ssoAuthTabData,
8582
)
8683
assertEquals(
87-
AuthTabData.CustomScheme(
88-
callbackUrl = "bitwarden://sso-callback",
89-
callbackScheme = "bitwarden",
84+
AuthTabData.HttpsScheme(
85+
host = "bitwarden.eu",
86+
path = "sso-callback",
9087
),
9188
EnvironmentUrlDataJson.DEFAULT_EU.ssoAuthTabData,
9289
)
9390
assertEquals(
94-
AuthTabData.CustomScheme(
95-
callbackUrl = "bitwarden://sso-callback",
96-
callbackScheme = "bitwarden",
91+
AuthTabData.HttpsScheme(
92+
host = "bitwarden.pw",
93+
path = "sso-callback",
9794
),
9895
DEFAULT_INTERNAL_ENVIRONMENT_URL_DATA.ssoAuthTabData,
9996
)

app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/enterprisesignon/EnterpriseSignOnViewModelTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,9 @@ class EnterpriseSignOnViewModelTest : BaseViewModelTest() {
189189
assertEquals(
190190
EnterpriseSignOnEvent.NavigateToSsoLogin(
191191
uri = ssoUri,
192-
authTabData = AuthTabData.CustomScheme(
193-
callbackUrl = "bitwarden://sso-callback",
194-
callbackScheme = "bitwarden",
192+
authTabData = AuthTabData.HttpsScheme(
193+
host = "bitwarden.com",
194+
path = "sso-callback",
195195
),
196196
),
197197
eventFlow.awaitItem(),

app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/TwoFactorLoginViewModelTest.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -430,9 +430,9 @@ class TwoFactorLoginViewModelTest : BaseViewModelTest() {
430430
assertEquals(
431431
TwoFactorLoginEvent.NavigateToDuo(
432432
uri = mockkUri,
433-
authTabData = AuthTabData.CustomScheme(
434-
callbackUrl = "bitwarden://duo-callback",
435-
callbackScheme = "bitwarden",
433+
authTabData = AuthTabData.HttpsScheme(
434+
host = "bitwarden.com",
435+
path = "duo-callback",
436436
),
437437
),
438438
awaitItem(),
@@ -519,9 +519,9 @@ class TwoFactorLoginViewModelTest : BaseViewModelTest() {
519519
assertEquals(
520520
TwoFactorLoginEvent.NavigateToWebAuth(
521521
uri = mockkUri,
522-
authTabData = AuthTabData.CustomScheme(
523-
callbackUrl = "bitwarden://webauthn-callback",
524-
callbackScheme = "bitwarden",
522+
authTabData = AuthTabData.HttpsScheme(
523+
host = "bitwarden.com",
524+
path = "webauthn-callback",
525525
),
526526
),
527527
awaitItem(),

data/src/main/kotlin/com/bitwarden/data/repository/util/EnvironmentUrlDataJsonExtensions.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,7 @@ val EnvironmentUrlDataJson.appLinksScheme: String
4141
EnvironmentRegion.UNITED_STATES,
4242
EnvironmentRegion.EUROPEAN_UNION,
4343
EnvironmentRegion.INTERNAL,
44-
-> {
45-
// TODO: PM-26577 Update this to use "https"
46-
"bitwarden"
47-
}
44+
-> "https"
4845

4946
EnvironmentRegion.SELF_HOSTED -> "bitwarden"
5047
}

data/src/test/kotlin/com/bitwarden/data/repository/util/EnvironmentUrlsDataJsonExtensionsTest.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -339,8 +339,7 @@ class EnvironmentUrlsDataJsonExtensionsTest {
339339

340340
@Test
341341
fun `appLinksScheme should return the correct scheme for US environment`() {
342-
// TODO: PM-26577 Update this to use "https"
343-
val expectedScheme = "bitwarden"
342+
val expectedScheme = "https"
344343

345344
assertEquals(
346345
expectedScheme,
@@ -350,8 +349,7 @@ class EnvironmentUrlsDataJsonExtensionsTest {
350349

351350
@Test
352351
fun `appLinksScheme should return the correct scheme for EU environment`() {
353-
// TODO: PM-26577 Update this to use "https"
354-
val expectedScheme = "bitwarden"
352+
val expectedScheme = "https"
355353

356354
assertEquals(
357355
expectedScheme,
@@ -361,8 +359,7 @@ class EnvironmentUrlsDataJsonExtensionsTest {
361359

362360
@Test
363361
fun `appLinksScheme should return the correct scheme for internal environment`() {
364-
// TODO: PM-26577 Update this to use "https"
365-
val expectedScheme = "bitwarden"
362+
val expectedScheme = "https"
366363

367364
assertEquals(
368365
expectedScheme,

0 commit comments

Comments
 (0)