mirror of
				https://github.com/dani-garcia/vaultwarden.git
				synced 2025-10-31 02:08:20 +02:00 
			
		
		
		
	fix account recovery withdrawal (#5968)
since `web-v2025.4.0` the client sends `""` instead of `null`, so we also have to check whether the `reset_password_key` is empty or not.
This commit is contained in:
		| @@ -3334,13 +3334,17 @@ async fn put_reset_password_enrollment( | ||||
|  | ||||
|     let reset_request = data.into_inner(); | ||||
|  | ||||
|     if reset_request.reset_password_key.is_none() | ||||
|         && OrgPolicy::org_is_reset_password_auto_enroll(&org_id, &mut conn).await | ||||
|     { | ||||
|     let reset_password_key = match reset_request.reset_password_key { | ||||
|         None => None, | ||||
|         Some(ref key) if key.is_empty() => None, | ||||
|         Some(key) => Some(key), | ||||
|     }; | ||||
|  | ||||
|     if reset_password_key.is_none() && OrgPolicy::org_is_reset_password_auto_enroll(&org_id, &mut conn).await { | ||||
|         err!("Reset password can't be withdrawn due to an enterprise policy"); | ||||
|     } | ||||
|  | ||||
|     if reset_request.reset_password_key.is_some() { | ||||
|     if reset_password_key.is_some() { | ||||
|         PasswordOrOtpData { | ||||
|             master_password_hash: reset_request.master_password_hash, | ||||
|             otp: reset_request.otp, | ||||
| @@ -3349,7 +3353,7 @@ async fn put_reset_password_enrollment( | ||||
|         .await?; | ||||
|     } | ||||
|  | ||||
|     member.reset_password_key = reset_request.reset_password_key; | ||||
|     member.reset_password_key = reset_password_key; | ||||
|     member.save(&mut conn).await?; | ||||
|  | ||||
|     let log_id = if member.reset_password_key.is_some() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user