import { withIronSessionApiRoute } from "iron-session/next"; const VALID_EMAIL = "chris@decimal.fm"; const VALID_PASSWORD = "opensesame"; export default withIronSessionApiRoute( async function loginRoute(req, res) { if (req.method === "POST") { const { email, password } = req.body; if (email === VALID_EMAIL && password === VALID_PASSWORD) { req.session.set("user", { email }); await req.session.save(); return res.status(201).send(""); } return res.status(403).send(""); } return res.status(404).send(""); }, { cookieName: "myapp_cookiename", password: "complex_password_at_least_32_characters_long", // secure: true should be used in production (HTTPS) but can't be used in development (HTTP) cookieOptions: { secure: process.env.NODE_ENV === "production", }, }, );