diff --git a/README.md b/README.md index 38a2b8e..aa462a5 100755 --- a/README.md +++ b/README.md @@ -54,9 +54,12 @@ Example: retirementCalculator/ ├── src/ │ ├── views/ -| ├── css/ -| ├── images/ -| └── scripts/ +│ │ └── partials/ +│ ├── css/ +│ ├── images/ +│ ├── scripts/ +│ └── utils/ +│ ├── app.js ├── .env.example ├── .gitignore diff --git a/app.js b/app.js index 68d8010..d173205 100644 --- a/app.js +++ b/app.js @@ -61,7 +61,7 @@ app.get('/login', (req, res) => { }); app.get('/home', (req, res) => { - res.render('home'); + res.render('home', { session: req.session }); return res.status(status.Ok); }); @@ -70,6 +70,16 @@ app.get('/aboutUs', (req, res) => { return res.status(status.Ok); }); +app.get('/logout', (req, res) => { + req.session.destroy(); + return res.redirect('/login'); +}); + +app.get('/*splat', (req, res) => { + res.send('404 Not Found'); + return res.status(status.NotFound); +}); + // Initialize database and start app initDatabase().then(() => { console.log("Successfully connected to MongoDB"); diff --git a/src/auth/authentication.js b/src/auth/authentication.js index 280558d..559b7ca 100644 --- a/src/auth/authentication.js +++ b/src/auth/authentication.js @@ -70,7 +70,7 @@ module.exports = (users) => { return res.redirect("/signup"); } - let hashedPassword = await bcrypt.hash(req.body.password, salt); + let hashedPassword = await bcrypt.hashSync(req.body.password, salt); users.insertOne({ email: req.body.email, diff --git a/src/router/user.js b/src/router/user.js index 51c685e..a22b1bd 100644 --- a/src/router/user.js +++ b/src/router/user.js @@ -33,5 +33,10 @@ module.exports = (middleware) => { return res.status(status.Ok); }); + router.get('/logout', middleware, (req, res) => { + req.session.destroy(); + return res.redirect('/login'); + }); + return router; }; diff --git a/src/views/home.ejs b/src/views/home.ejs index 3bb7034..b354997 100644 --- a/src/views/home.ejs +++ b/src/views/home.ejs @@ -10,6 +10,7 @@ <%- include("./partials/header") %> + <% if (session.authenticated) { console.log(session.email); } else { console.log("No user"); } %>
The Dashboard Page
diff --git a/src/views/login.ejs b/src/views/login.ejs index d4b1b31..981b77c 100644 --- a/src/views/login.ejs +++ b/src/views/login.ejs @@ -44,6 +44,10 @@ +
+ + Register +
diff --git a/src/views/partials/header.ejs b/src/views/partials/header.ejs index ef3c1a1..28d4073 100644 --- a/src/views/partials/header.ejs +++ b/src/views/partials/header.ejs @@ -18,7 +18,16 @@
  • More -
  • + + <% if (session.authenticated) { %> +
  • + Logout +
  • + <% } else { %> +
  • + Login +
  • + <% } %> diff --git a/src/views/signup.ejs b/src/views/signup.ejs index 3f261c0..e19fc96 100644 --- a/src/views/signup.ejs +++ b/src/views/signup.ejs @@ -39,6 +39,10 @@ +
    + + Login +