Creé un back-end de inicio de sesión de usuario y todo funciona bien, pero cuando inicio sesión en un detalle de usuario, a pesar de que es correcto, no puedo explorar otras rutas porque el usuario no está autorizado. ¿Cómo guardo el token de acceso en el navegador para que lo recuerde? Esta es la ruta de inicio de sesión a continuación.
router.post("/login", async (req, res) => { try { const oneUser = await users.findOne({ username: req.body.username, }); if (!oneUser) { return res.status(500).json("User is not in the database"); } const oPassword = cj.AES.decrypt( oneUser.password, process.env.pass ).toString(cj.enc.Utf8); if (oPassword !== req.body.password) { return res.status(500).json("Password is incorrect"); } const accessToken = jwt.sign( { id: oneUser._id, isAdmin: oneUser.isAdmin, }, process.env.jwtToken, { expiresIn: "300" } ); const { password, ...others } = oneUser._doc; res.status(200).json({ ...others, accessToken }); } catch (err) { res.status(500).json(err); }});
Vi algo así en la red.
res.header("token", accessToken)para esto, puede guardar una sesión para ese usuario o responder el token y guardarlo en las cookies del navegador del cliente o en el almacén de sesiones.
para configurar la sesión en el enlace de pago de la aplicación node js a continuación https://www.npmjs.com/search?q=session