mirror of
https://github.com/frappe/frappe.git
synced 2024-06-12 22:32:20 +00:00
refactor(twofactor): reduce number of calls to redis
Pipeline wherever possible, set expiry while saving value Signed-off-by: Akhil Narang <me@akhilnarang.dev>
This commit is contained in:
parent
762290db9a
commit
7dddc9e4f1
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue
Block a user