const express = require("express"); const bodyParser = require("body-parser"); const session = require("express-session"); const csurf = require("csurf"); const csrf = csurf(); const app = express(); const mockUser = { username: "beth", password: "badpassword", email: "beth@example.com", }; app.use( session({ secret: "Node Cookbook", name: "SESSIONID", resave: false, saveUninitialized: false, cookie: { sameSite: true }, }) ); app.use(bodyParser.urlencoded({ extended: false })); app.get("/", (req, res) => { if (req.session.user) return res.redirect("/account"); res.send(`
Email: ${mockUser.email}
`); }); app.post("/update", csrf, (req, res) => { if (!req.session.user) return res.sendStatus(403); mockUser.email = req.body.email; res.redirect("/") }); app.listen(3000, () => { console.log("Server listening on port 3000"); });