From d41d53367fdb6462e3625f8a375a501fdc26ab3c Mon Sep 17 00:00:00 2001 From: Edward Betts Date: Sun, 21 Jan 2024 16:23:46 +0000 Subject: [PATCH] Redirect back to agenda after login Closes: #91 --- agenda/auth.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/agenda/auth.py b/agenda/auth.py index d44696a..3e2f2b8 100644 --- a/agenda/auth.py +++ b/agenda/auth.py @@ -20,10 +20,14 @@ def verify_auth_token(token: str) -> str | None: def require_authentication() -> werkzeug.Response | None: - """Require authentication.""" + """Require authentication and redirect with return URL.""" token = flask.request.cookies.get("auth_token") - return ( - None - if token and verify_auth_token(token) - else flask.redirect(flask.current_app.config["UNIAUTH_LOGIN_URL"]) + if token and verify_auth_token(token): + return None + + # Construct the redirect URL with the original URL as a parameter + return flask.redirect( + flask.current_app.config["UNIAUTH_LOGIN_URL"] + + "?next=" + + werkzeug.urls.url_quote(flask.request.url) )