From 9d122264e5329eccbcc1cc1f30f0f16b430d31f6 Mon Sep 17 00:00:00 2001 From: Edward Betts Date: Sun, 21 Jan 2024 16:22:37 +0000 Subject: [PATCH] Add support for 'next' URL parameter for redirect after auth --- main.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 48adcbd..80a85af 100755 --- a/main.py +++ b/main.py @@ -84,10 +84,16 @@ def login_page() -> str | werkzeug.Response: # Login failed: Show an error message on the login page return flask.render_template("login.html", error="Invalid credentials") + redirect_to = ( + flask.request.args.get("next") + or flask.session.get("next") + or flask.url_for("dashboard") + ) + expire_date = datetime.now() + timedelta(days=180) flask.flash("Welcome back! You have successfully logged in.") - response = flask.redirect(flask.session.get("next") or flask.url_for("dashboard")) + response = flask.redirect(redirect_to) response.set_cookie( "auth_token", generate_auth_token(user["username"]),