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")