Page MenuHomePhorge

D14199.1768781186.diff
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

D14199.1768781186.diff

diff --git a/keyserver/addons/rust-node-addon/rust-binding-types.js b/keyserver/addons/rust-node-addon/rust-binding-types.js
--- a/keyserver/addons/rust-node-addon/rust-binding-types.js
+++ b/keyserver/addons/rust-node-addon/rust-binding-types.js
@@ -95,6 +95,7 @@
authAccessToken: string,
username: string,
password: string,
+ skipPasswordReset: boolean,
) => Promise<void>,
+syncPlatformDetails: (
userId: string,
diff --git a/keyserver/addons/rust-node-addon/src/identity_client/privileged_reset_user_password.rs b/keyserver/addons/rust-node-addon/src/identity_client/privileged_reset_user_password.rs
--- a/keyserver/addons/rust-node-addon/src/identity_client/privileged_reset_user_password.rs
+++ b/keyserver/addons/rust-node-addon/src/identity_client/privileged_reset_user_password.rs
@@ -8,6 +8,7 @@
auth_access_token: String,
username: String,
password: String,
+ skip_password_reset: bool,
) -> Result<()> {
let mut identity_client = get_authenticated_identity_client(
auth_user_id,
@@ -16,9 +17,16 @@
)
.await?;
+ let new_password = if skip_password_reset {
+ // dummy password for opaque, it won't be updated server-side
+ "[dummy]".to_string()
+ } else {
+ password
+ };
+
let mut opaque_registration = comm_opaque2::client::Registration::new();
let opaque_registration_request =
- opaque_registration.start(&password).map_err(|_| {
+ opaque_registration.start(&new_password).map_err(|_| {
Error::from_reason("Failed to create opaque registration request")
})?;
@@ -40,7 +48,7 @@
let opaque_registration_upload = opaque_registration
.finish(
- &password,
+ &new_password,
&privileged_reset_user_password_start_response
.opaque_registration_response,
)
diff --git a/keyserver/src/scripts/reset-identity-user-password.js b/keyserver/src/scripts/reset-identity-user-password.js
--- a/keyserver/src/scripts/reset-identity-user-password.js
+++ b/keyserver/src/scripts/reset-identity-user-password.js
@@ -6,7 +6,15 @@
async function resetIdentityUserPassword() {
const targetUsername = '';
const password = '';
- await privilegedResetUserPassword(targetUsername, password);
+
+ // when true, user is reset to unsigned device list without password change
+ const skipPasswordReset = false;
+
+ await privilegedResetUserPassword(
+ targetUsername,
+ password,
+ skipPasswordReset,
+ );
}
main([resetIdentityUserPassword]);
diff --git a/keyserver/src/utils/identity-utils.js b/keyserver/src/utils/identity-utils.js
--- a/keyserver/src/utils/identity-utils.js
+++ b/keyserver/src/utils/identity-utils.js
@@ -65,6 +65,7 @@
async function privilegedResetUserPassword(
username: string,
password: string,
+ skipPasswordReset: boolean,
): Promise<void> {
const [rustAPI, identityInfo, deviceID] = await Promise.all([
getRustAPI(),
@@ -78,6 +79,7 @@
identityInfo.accessToken,
username,
password,
+ skipPasswordReset,
),
);
}

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 19, 12:06 AM (21 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5953538
Default Alt Text
D14199.1768781186.diff (2 KB)

Event Timeline