瀏覽代碼

Fix wrong display of MFA email.

There was some wrong logic regarding the display of which email is
configured to be used for the email MFA. This is now fixed.

Resolves #1878
BlackDex 4 年之前
父節點
當前提交
881d1f4334
共有 1 個文件被更改,包括 7 次插入5 次删除
  1. 7 5
      src/api/core/two_factor/email.rs

+ 7 - 5
src/api/core/two_factor/email.rs

@@ -80,14 +80,16 @@ fn get_email(data: JsonUpcase<PasswordData>, headers: Headers, conn: DbConn) ->
         err!("Invalid password");
     }
 
-    let type_ = TwoFactorType::Email as i32;
-    let enabled = match TwoFactor::find_by_user_and_type(&user.uuid, type_, &conn) {
-        Some(x) => x.enabled,
-        _ => false,
+    let (enabled, mfa_email) = match TwoFactor::find_by_user_and_type(&user.uuid, TwoFactorType::Email as i32, &conn) {
+        Some(x) => {
+            let twofactor_data = EmailTokenData::from_json(&x.data)?;
+            (true, json!(twofactor_data.email))
+        }
+        _ => (false, json!(null)),
     };
 
     Ok(Json(json!({
-        "Email": user.email,
+        "Email": mfa_email,
         "Enabled": enabled,
         "Object": "twoFactorEmail"
     })))