diff --git a/app.js b/app.js
index 4eae037..2ce1c48 100644
--- a/app.js
+++ b/app.js
@@ -106,7 +106,7 @@ async function main() {
const path = `/${req.path.split('/')?.[1] ?? ''}`;
if (!allowed.includes(path) && !req.session.authenticated)
- return res.redirect('/login');
+ return res.redirect(`/login?redirect_to=${req.path}`);
next();
});
diff --git a/routes/main.js b/routes/main.js
index df1f250..c252749 100644
--- a/routes/main.js
+++ b/routes/main.js
@@ -21,7 +21,8 @@ router.get('/login', (req, res) => {
return res.redirect('/admin');
return res.render('login', {
- title: 'Stratos - Login'
+ title: 'Stratos - Login',
+ redirect_to: req.query?.redirect_to
});
});
@@ -79,6 +80,10 @@ router.post('/login', async (req, res) => {
if (await u.verifyPassword(fields.get('password'))) {
u.login(req);
+
+ if (fields.get('redirectTo').length > 0)
+ return res.redirect(fields.get('redirectTo'));
+
return res.redirect('/admin');
}
diff --git a/views/login.hbs b/views/login.hbs
index 61ad4cc..4f4da2e 100644
--- a/views/login.hbs
+++ b/views/login.hbs
@@ -5,6 +5,8 @@
+
+
Not got an account yet? Sign up