From fb4470fcde6ed28be9e3c78124287d7a8e54b9ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madis=20M=C3=A4gi?= Date: Sat, 27 Jul 2024 17:38:10 +0300 Subject: [PATCH] Fix login redirect --- inventory-app/oidc.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/inventory-app/oidc.py b/inventory-app/oidc.py index 7faebd5..b22bacd 100644 --- a/inventory-app/oidc.py +++ b/inventory-app/oidc.py @@ -20,8 +20,6 @@ def login_required(_f=None, *, groups=[]): print(groups) user = read_user() if not user: - print("doing login redirect") - session["original_url"] = request.full_path return do_login() if groups and not any(group in groups for group in user["groups"]): return "not allowed", 401 @@ -34,6 +32,10 @@ def login_required(_f=None, *, groups=[]): return login_required_inner(_f) def do_login(): + print("doing login redirect") + if request and request.full_path: + print("storing url: " + request.full_path) + session["original_url"] = request.full_path url = add_url_params(metadata["authorization_endpoint"], { "client_id": os.getenv("OIDC_CLIENT_ID"), "redirect_uri": url_for("oidc.login_callback", _external=True, _scheme='https'), @@ -64,6 +66,7 @@ def login_callback(): print("authenticated") session["id_token"] = r["id_token"] session["access_token"] = r["access_token"] + print("stored url was: " + session.get("original_url")) return redirect(session.pop("original_url", "/")) @page_oidc.route("/logout")