Esperando que alguien pueda ayudarme con esto. Estoy usando Handlebars como un motor de plantillas con el blog Node/Express que estoy creando. Estoy tratando de obtener los botones de inicio de sesión y cierre de sesión según cuándo el usuario haya iniciado sesión o no. Sé que necesito usar la sesión de alguna manera, pero pensé que estaba usando la sintaxis correctamente. He renderizado todo lo demás que estaba haciendo, pero estoy perplejo con este.
{{#if sessionSwitch}} <a class="blog-nav-item" href="/auth/logout"> <p class="nav-fonts">Logout</p> </a> {{else}} <a class="blog-nav-item" href="/auth/login"> <p class="nav-fonts">Login</p> </a> {{/if}}Aquí está el controlador donde estoy seguro de que necesito usar la sesión.
module.exports = async (req, res) => { const { email, password } = req.body; // try to find the user await User.findOne({ email }, (error, user) => { if (user) { // compare passwords. bcrypt.compare(password, user.password, (error, same) => { if (same) { // store user session. const sessionSwitch = req.session sessionSwitch.userId = user._id res.redirect('/') console.log({ Message: "Success"}) } else { res.redirect('/auth/login') } }) } else { res.redirect('/auth/login') } })}