From 2d4356cb38c476640420bfb1b3ccad814dd441ff Mon Sep 17 00:00:00 2001 From: sneakernuts <671942+sneakernuts@users.noreply.github.com> Date: Fri, 16 May 2025 11:21:21 -0600 Subject: [PATCH 1/5] SRE-2330 cleanup references to auth-email --- crates/bitwarden-core/src/auth/api/request/mod.rs | 4 ---- .../main/java/com/bitwarden/myapplication/MainActivity.kt | 1 - crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift | 8 +------- 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/crates/bitwarden-core/src/auth/api/request/mod.rs b/crates/bitwarden-core/src/auth/api/request/mod.rs index 19f91e524..7b5597277 100644 --- a/crates/bitwarden-core/src/auth/api/request/mod.rs +++ b/crates/bitwarden-core/src/auth/api/request/mod.rs @@ -51,10 +51,6 @@ async fn send_identity_connect_request( request = request.header(reqwest::header::USER_AGENT, user_agent.clone()); } - if let Some(email) = email { - request = request.header("Auth-Email", URL_SAFE_NO_PAD.encode(email.as_bytes())); - } - let response = request .body(serde_qs::to_string(&body).expect("Serialize should be infallible")) .send() diff --git a/crates/bitwarden-uniffi/kotlin/app/src/main/java/com/bitwarden/myapplication/MainActivity.kt b/crates/bitwarden-uniffi/kotlin/app/src/main/java/com/bitwarden/myapplication/MainActivity.kt index 6e61cc7ef..51d162f2e 100644 --- a/crates/bitwarden-uniffi/kotlin/app/src/main/java/com/bitwarden/myapplication/MainActivity.kt +++ b/crates/bitwarden-uniffi/kotlin/app/src/main/java/com/bitwarden/myapplication/MainActivity.kt @@ -234,7 +234,6 @@ class MainActivity : FragmentActivity() { val loginBody = http.post(IDENTITY_URL + "connect/token") { contentType(ContentType.Application.Json) - header("Auth-Email", Base64.getEncoder().encodeToString(EMAIL.toByteArray())) setBody(FormDataContent(Parameters.build { append("scope", "api offline_access") append("client_id", "web") diff --git a/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift b/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift index 9ddaf6847..ebf86784b 100644 --- a/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift +++ b/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift @@ -160,13 +160,7 @@ struct ContentView: View { let (loginDataJson, _) = try await http.data( for: request( method: "POST", url: IDENTITY_URL + "connect/token", - fn: { r in - r.setValue( - EMAIL.data(using: .utf8)?.base64EncodedString(), - forHTTPHeaderField: "Auth-Email") - r.setValue( - "application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") - + fn: { var comp = URLComponents() comp.queryItems = [ URLQueryItem(name: "scope", value: "api offline_access"), From 4a055e8b5a0b987807598d81113e8bfbe6abdc49 Mon Sep 17 00:00:00 2001 From: sneakernuts <671942+sneakernuts@users.noreply.github.com> Date: Sat, 16 Aug 2025 11:08:12 -0600 Subject: [PATCH 2/5] Added back content type header for login request --- crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift b/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift index ebf86784b..2273597a8 100644 --- a/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift +++ b/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift @@ -160,7 +160,10 @@ struct ContentView: View { let (loginDataJson, _) = try await http.data( for: request( method: "POST", url: IDENTITY_URL + "connect/token", - fn: { + fn: { r in + r.setValue( + "application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") + var comp = URLComponents() comp.queryItems = [ URLQueryItem(name: "scope", value: "api offline_access"), From db3ab0c535a145b8c8e3b79f2e4895e688bbeea1 Mon Sep 17 00:00:00 2001 From: sneakernuts <671942+sneakernuts@users.noreply.github.com> Date: Sat, 16 Aug 2025 11:25:48 -0600 Subject: [PATCH 3/5] Removed email since header is no longer required# Please enter the commit message for your changes. Lines starting --- crates/bitwarden-core/src/auth/api/request/mod.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/crates/bitwarden-core/src/auth/api/request/mod.rs b/crates/bitwarden-core/src/auth/api/request/mod.rs index 7b5597277..0e09398ed 100644 --- a/crates/bitwarden-core/src/auth/api/request/mod.rs +++ b/crates/bitwarden-core/src/auth/api/request/mod.rs @@ -30,7 +30,6 @@ use crate::{ async fn send_identity_connect_request( configurations: &ApiConfigurations, - email: Option<&str>, body: impl serde::Serialize, ) -> Result { let mut request = configurations From 0146983e060a5251ec8eec60d039a4a25d70acda Mon Sep 17 00:00:00 2001 From: sneakernuts <671942+sneakernuts@users.noreply.github.com> Date: Sat, 16 Aug 2025 17:46:04 -0600 Subject: [PATCH 4/5] Sending proper number of parameters for send_identity_connect_request() --- .../bitwarden-core/src/auth/api/request/access_token_request.rs | 2 +- crates/bitwarden-core/src/auth/api/request/api_token_request.rs | 2 +- .../src/auth/api/request/auth_request_token_request.rs | 2 +- crates/bitwarden-core/src/auth/api/request/mod.rs | 1 - .../src/auth/api/request/password_token_request.rs | 2 +- .../bitwarden-core/src/auth/api/request/renew_token_request.rs | 2 +- 6 files changed, 5 insertions(+), 6 deletions(-) diff --git a/crates/bitwarden-core/src/auth/api/request/access_token_request.rs b/crates/bitwarden-core/src/auth/api/request/access_token_request.rs index 1a40f5d85..ba9fac2df 100644 --- a/crates/bitwarden-core/src/auth/api/request/access_token_request.rs +++ b/crates/bitwarden-core/src/auth/api/request/access_token_request.rs @@ -31,6 +31,6 @@ impl AccessTokenRequest { &self, configurations: &ApiConfigurations, ) -> Result { - super::send_identity_connect_request(configurations, None, &self).await + super::send_identity_connect_request(configurations, &self).await } } diff --git a/crates/bitwarden-core/src/auth/api/request/api_token_request.rs b/crates/bitwarden-core/src/auth/api/request/api_token_request.rs index e2c1e0696..f9a04f150 100644 --- a/crates/bitwarden-core/src/auth/api/request/api_token_request.rs +++ b/crates/bitwarden-core/src/auth/api/request/api_token_request.rs @@ -39,6 +39,6 @@ impl ApiTokenRequest { &self, configurations: &ApiConfigurations, ) -> Result { - super::send_identity_connect_request(configurations, None, &self).await + super::send_identity_connect_request(configurations, &self).await } } diff --git a/crates/bitwarden-core/src/auth/api/request/auth_request_token_request.rs b/crates/bitwarden-core/src/auth/api/request/auth_request_token_request.rs index 03a6220e1..cb547ecb7 100644 --- a/crates/bitwarden-core/src/auth/api/request/auth_request_token_request.rs +++ b/crates/bitwarden-core/src/auth/api/request/auth_request_token_request.rs @@ -55,6 +55,6 @@ impl AuthRequestTokenRequest { &self, configurations: &ApiConfigurations, ) -> Result { - super::send_identity_connect_request(configurations, Some(&self.email), &self).await + super::send_identity_connect_request(configurations, &self).await } } diff --git a/crates/bitwarden-core/src/auth/api/request/mod.rs b/crates/bitwarden-core/src/auth/api/request/mod.rs index 0e09398ed..1974bf044 100644 --- a/crates/bitwarden-core/src/auth/api/request/mod.rs +++ b/crates/bitwarden-core/src/auth/api/request/mod.rs @@ -12,7 +12,6 @@ mod password_token_request; pub(crate) use password_token_request::*; mod renew_token_request; -use base64::{engine::general_purpose::URL_SAFE_NO_PAD, Engine}; pub(crate) use renew_token_request::*; mod auth_request_token_request; diff --git a/crates/bitwarden-core/src/auth/api/request/password_token_request.rs b/crates/bitwarden-core/src/auth/api/request/password_token_request.rs index 2252859cd..c0c2a3d7c 100644 --- a/crates/bitwarden-core/src/auth/api/request/password_token_request.rs +++ b/crates/bitwarden-core/src/auth/api/request/password_token_request.rs @@ -64,6 +64,6 @@ impl PasswordTokenRequest { &self, configurations: &ApiConfigurations, ) -> Result { - super::send_identity_connect_request(configurations, Some(&self.email), &self).await + super::send_identity_connect_request(configurations, &self).await } } diff --git a/crates/bitwarden-core/src/auth/api/request/renew_token_request.rs b/crates/bitwarden-core/src/auth/api/request/renew_token_request.rs index e2808ee4f..8de6f3cc9 100644 --- a/crates/bitwarden-core/src/auth/api/request/renew_token_request.rs +++ b/crates/bitwarden-core/src/auth/api/request/renew_token_request.rs @@ -25,6 +25,6 @@ impl RenewTokenRequest { &self, configurations: &ApiConfigurations, ) -> Result { - super::send_identity_connect_request(configurations, None, &self).await + super::send_identity_connect_request(configurations, &self).await } } From 128b6494629dce9b53dd05c0ab253a96a861dd03 Mon Sep 17 00:00:00 2001 From: sneakernuts <671942+sneakernuts@users.noreply.github.com> Date: Mon, 18 Aug 2025 12:03:08 +0000 Subject: [PATCH 5/5] Update crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift Co-authored-by: Oscar Hinton --- crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift b/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift index 2273597a8..e75058aa5 100644 --- a/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift +++ b/crates/bitwarden-uniffi/swift/iOS/App/ContentView.swift @@ -163,7 +163,6 @@ struct ContentView: View { fn: { r in r.setValue( "application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") - var comp = URLComponents() comp.queryItems = [ URLQueryItem(name: "scope", value: "api offline_access"),