diff --git a/frappe/twofactor.py b/frappe/twofactor.py index c9263aa336..b5ddd080f0 100644 --- a/frappe/twofactor.py +++ b/frappe/twofactor.py @@ -96,16 +96,17 @@ def cache_2fa_data(user, token, otp_secret, tmp_id): pwd = frappe.form_dict.get("pwd") verification_method = get_verification_method() + pipeline = frappe.cache.pipeline() + # set increased expiry time for SMS and Email if verification_method in ["SMS", "Email"]: expiry_time = frappe.flags.token_expiry or 300 - frappe.cache.set(tmp_id + "_token", token) - frappe.cache.expire(tmp_id + "_token", expiry_time) + pipeline.set(tmp_id + "_token", token, expiry_time) else: expiry_time = frappe.flags.otp_expiry or 180 for k, v in {"_usr": user, "_pwd": pwd, "_otp_secret": otp_secret}.items(): - frappe.cache.set(f"{tmp_id}{k}", v) - frappe.cache.expire(f"{tmp_id}{k}", expiry_time) + pipeline.set(f"{tmp_id}{k}", v, expiry_time) + pipeline.execute() def two_factor_is_enabled_for_(user):