const express = require('express');
const cookieParser = require('cookie-parser');
const session = require('express-session');
const app = express();
app.use(cookieParser());
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true
}))
function isAuthenticated(req, res, next) {
if (req.session.user) next()
else next('route')
}
app.get('/', isAuthenticated, function (req, res) {
res.send(' <a href="/logout">Logout</a>')
});
app.get('/', function (req, res) {
res.send('<form action="/login" method="post">' +
'Username: <input name="user"><br>' +
'Password: <input name="pass" type="password"><br>' +
'<input type="submit" text="Login"></form>')
});
app.post('/login', express.urlencoded({ extended: false }), function (req, res) {
req.session.regenerate(function (err) {
if (err) next(err)
req.session.user = req.body.user
req.session.gj = 'gj'
console.log(req.body.user,'req.body.user')
console.log(req.session.user,'req.session.user')
console.log(req.session.gj,'req.session.gj')
req.session.save(function (err) {
if (err) return next(err)
res.redirect('/')
})
})
})
app.get('/logout', function (req, res, next) {
req.session.user = null
req.session.save(function (err) {
if (err) next(err)
req.session.regenerate(function (err) {
if (err) next(err)
res.redirect('/')
})
})
})