mirror of
https://github.com/rustdesk/rustdesk.git
synced 2024-12-01 01:29:02 +08:00
Fix how 2FA codes are verified (#7429)
Signed-off-by: p0358 <p0358@users.noreply.github.com>
This commit is contained in:
parent
41da6d552f
commit
e0739709e7
@ -89,16 +89,14 @@ pub fn generate2fa() -> String {
|
||||
|
||||
pub fn verify2fa(code: String) -> bool {
|
||||
if let Some((info, totp)) = CURRENT_2FA.lock().unwrap().as_ref() {
|
||||
if let Ok(cur) = totp.generate_current() {
|
||||
let res = code == cur;
|
||||
if res {
|
||||
if let Ok(v) = info.into_string() {
|
||||
#[cfg(not(any(target_os = "android", target_os = "ios")))]
|
||||
crate::ipc::set_option("2fa", &v);
|
||||
#[cfg(any(target_os = "android", target_os = "ios"))]
|
||||
Config::set_option("2fa".to_owned(), v);
|
||||
return res;
|
||||
}
|
||||
let is_valid = totp.check_current(&code).unwrap_or(false);
|
||||
if is_valid {
|
||||
if let Ok(v) = info.into_string() {
|
||||
#[cfg(not(any(target_os = "android", target_os = "ios")))]
|
||||
crate::ipc::set_option("2fa", &v);
|
||||
#[cfg(any(target_os = "android", target_os = "ios"))]
|
||||
Config::set_option("2fa".to_owned(), v);
|
||||
return is_valid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user