Merge pull request #32988 from iamejaaz/41272-rate-limit-issue

fix: rate limit issue on sending email login link
This commit is contained in:
Ejaaz Khan 2025-06-18 12:17:18 +05:30 committed by GitHub
commit cdb297da17
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -136,8 +136,12 @@ def login_via_token(login_token: str):
)
def get_login_with_email_link_ratelimit() -> int:
return frappe.get_system_settings("rate_limit_email_link_login") or 5
@frappe.whitelist(allow_guest=True)
@rate_limit(limit=5, seconds=60 * 60)
@rate_limit(limit=get_login_with_email_link_ratelimit, seconds=60 * 60)
def send_login_link(email: str):
if not frappe.get_system_settings("login_with_email_link"):
return
@ -171,10 +175,6 @@ def _generate_temporary_login_link(email: str, expiry: int):
return get_url(f"/api/method/frappe.www.login.login_via_key?key={key}")
def get_login_with_email_link_ratelimit() -> int:
return frappe.get_system_settings("rate_limit_email_link_login") or 5
@frappe.whitelist(allow_guest=True, methods=["GET"])
@rate_limit(limit=get_login_with_email_link_ratelimit, seconds=60 * 60)
def login_via_key(key: str):