From 0e7eb7164e4e6534684697bf123ec40fdf7830da Mon Sep 17 00:00:00 2001 From: Arie Peterson <arie@greenhost.nl> Date: Tue, 2 Jul 2024 14:58:28 +0200 Subject: [PATCH] Allow presetting email address for recovery form --- backend/web/login/login.py | 5 ++++- backend/web/static/base.js | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/web/login/login.py b/backend/web/login/login.py index c6bcd707..f97ecac3 100644 --- a/backend/web/login/login.py +++ b/backend/web/login/login.py @@ -75,7 +75,10 @@ def recovery(): flow = request.args.get("flow") if not flow: - return redirect(KRATOS_PUBLIC_URL + "self-service/recovery/browser") + email = request.args.get("email") + response = redirect(KRATOS_PUBLIC_URL + "self-service/recovery/browser") + response.set_cookie("recovery_preset_email", email) + return response return render_template("recover.html", api_url=KRATOS_PUBLIC_URL, dashboard_url=DASHBOARD_URL) diff --git a/backend/web/static/base.js b/backend/web/static/base.js index 510d0c23..9d80b3b1 100644 --- a/backend/web/static/base.js +++ b/backend/web/static/base.js @@ -444,6 +444,11 @@ function getFormElement(node, context) { readonly = false; label = "Please provide your e-mail address. If it is registered, we will send a recovery link to that address."; + var email = Cookies.get("recovery_preset_email"); + if (email) { + value = email; + Cookies.set("recovery_preset_email", ""); + } } return getFormInput( "email", -- GitLab