geforkt von mirrored/vaultwarden
Fix Yubikeys deleted on error
Dieser Commit ist enthalten in:
Ursprung
71da961ecd
Commit
93805a5d7b
1 geänderte Dateien mit 6 neuen und 11 gelöschten Zeilen
|
@ -573,11 +573,10 @@ fn activate_yubikey(data: JsonUpcase<EnableYubikeyData>, headers: Headers, conn:
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if we already have some data
|
// Check if we already have some data
|
||||||
let yubikey_data = TwoFactor::find_by_user_and_type(&user.uuid, TwoFactorType::YubiKey as i32, &conn);
|
let mut yubikey_data = match TwoFactor::find_by_user_and_type(&user.uuid, TwoFactorType::YubiKey as i32, &conn) {
|
||||||
|
Some(data) => data,
|
||||||
if let Some(yubikey_data) = yubikey_data {
|
None => TwoFactor::new(user.uuid.clone(), TwoFactorType::YubiKey, String::new()),
|
||||||
yubikey_data.delete(&conn)?;
|
};
|
||||||
}
|
|
||||||
|
|
||||||
let yubikeys = parse_yubikeys(&data);
|
let yubikeys = parse_yubikeys(&data);
|
||||||
|
|
||||||
|
@ -605,12 +604,8 @@ fn activate_yubikey(data: JsonUpcase<EnableYubikeyData>, headers: Headers, conn:
|
||||||
Nfc: data.Nfc,
|
Nfc: data.Nfc,
|
||||||
};
|
};
|
||||||
|
|
||||||
let yubikey_registration = TwoFactor::new(
|
yubikey_data.data = serde_json::to_string(&yubikey_metadata).unwrap();
|
||||||
user.uuid.clone(),
|
yubikey_data.save(&conn)?;
|
||||||
TwoFactorType::YubiKey,
|
|
||||||
serde_json::to_string(&yubikey_metadata).unwrap(),
|
|
||||||
);
|
|
||||||
yubikey_registration.save(&conn)?;
|
|
||||||
|
|
||||||
_generate_recover_code(&mut user, &conn);
|
_generate_recover_code(&mut user, &conn);
|
||||||
|
|
||||||
|
|
Laden …
In neuem Issue referenzieren