diff --git a/include/http_utility.hpp b/include/http_utility.hpp
index e13dfc0..0f5bb8c 100644
--- a/include/http_utility.hpp
+++ b/include/http_utility.hpp
@@ -24,4 +24,29 @@
     }
     return false;
 }
+
+inline std::string urlEncode(const boost::string_view value)
+{
+    std::ostringstream escaped;
+    escaped.fill('0');
+    escaped << std::hex;
+
+    for (const char c : value)
+    {
+        // Keep alphanumeric and other accepted characters intact
+        if (isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~')
+        {
+            escaped << c;
+            continue;
+        }
+
+        // Any other characters are percent-encoded
+        escaped << std::uppercase;
+        escaped << '%' << std::setw(2)
+                << static_cast<int>(static_cast<unsigned char>(c));
+        escaped << std::nouppercase;
+    }
+
+    return escaped.str();
+}
 } // namespace http_helpers
\ No newline at end of file
diff --git a/include/token_authorization_middleware.hpp b/include/token_authorization_middleware.hpp
index c419c97..b186a5f 100644
--- a/include/token_authorization_middleware.hpp
+++ b/include/token_authorization_middleware.hpp
@@ -63,7 +63,8 @@
             if (http_helpers::requestPrefersHtml(req))
             {
                 res.result(boost::beast::http::status::temporary_redirect);
-                res.addHeader("Location", "/#/login");
+                res.addHeader("Location", "/#/login?next=" +
+                                              http_helpers::urlEncode(req.url));
             }
             else
             {
