From 2e5632dc0fe921bd83549815aff3224a9027cf31 Mon Sep 17 00:00:00 2001
From: Dominik Hebeler <dominik@hebeler.club>
Date: Fri, 21 Apr 2023 13:54:44 +0200
Subject: [PATCH] added option for redirect after logout

---
 pass/routes/key.js | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/pass/routes/key.js b/pass/routes/key.js
index 0bc9f8f..dba7188 100644
--- a/pass/routes/key.js
+++ b/pass/routes/key.js
@@ -22,7 +22,19 @@ router.get("/remove", (req, res) => {
   if (req.cookies.key) {
     res.clearCookie("key");
   }
-  res.redirect("/");
+
+  // Check if a redirection URL is supplied
+  let url = req.query.url;
+  if (url) {
+    let parsed_url = new URL(url);
+    if (parsed_url.hostname !== req.hostname) {
+      url = "/";
+    }
+  } else {
+    url = "/";
+  }
+
+  res.redirect(url);
 });
 
 router.get("/enter", function (req, res, next) {
-- 
GitLab