diff --git a/src/controllers/account.js b/src/controllers/account.js index 30a9468..a8bb87a 100644 --- a/src/controllers/account.js +++ b/src/controllers/account.js @@ -65,6 +65,10 @@ const accountController = { if (req.session.publicKey != null) { return res.status(200).json({ publicKey: req.session.publicKey }); } + }, + logout: (req, res) => { + req.session.publicKey = undefined; + res.redirect('/'); } }; diff --git a/src/public/script.js b/src/public/script.js index 375e741..f53da8d 100644 --- a/src/public/script.js +++ b/src/public/script.js @@ -1,2 +1,2 @@ -var jswarn = document.getElementById('jswarn'); +const jswarn = document.getElementById('jswarn'); jswarn.innerText = ''; diff --git a/src/routes/account.js b/src/routes/account.js index 5e665f4..1d8c3e0 100644 --- a/src/routes/account.js +++ b/src/routes/account.js @@ -14,6 +14,10 @@ router .route("/login") .get(accountController.loginGetChallenge); +router + .route("/logout") + .get(accountController.logout); + router .route("/verify-challenge") .post(accountController.loginVerifyChallenge); diff --git a/src/views/index.pug b/src/views/index.pug index 832f352..f291830 100644 --- a/src/views/index.pug +++ b/src/views/index.pug @@ -42,7 +42,7 @@ html(lang="en-US") else .btn-toolbar.btn-group-sm(role="toolbar", aria-label="Toolbar") .btn-group.mr-2(role="group", aria-label="logout") - button#logout.btn.btn-secondary(type="button") logout + a#logout.btn.btn-secondary(href="./account/logout") logout ul#messages