Como en el título, cuando solicito un cierre de sesión, probé la lógica de varias maneras para responder al código de estado 205, pero no puedo escribir la lógica adecuada.
Si la ID de usuario o la contraseña recibida en la solicitud de inicio de sesión es perfectamente consistente con la información almacenada en la base de datos, el mensaje 'ok' y el código de estado 200 deben incluirse en la respuesta. ✓
Si el ID de usuario o la contraseña recibidos en la solicitud de inicio de sesión no son válidos, el mensaje de 'usuario no válido' y el código de estado 404 deben incluirse en la respuesta. ✓
Si logra iniciar sesión, debe reenviar los tokens JWT a las cookies. ✓
// server/controllers/users/signout.js module.exports = (req, res) => { //TODO: ## Create logout logic ## res.status(500).send(); }; // server/controllers/users/signin.js [ This is what I wrote about the signin logic ] const { request } = require('express'); const { user } = require('../../models'); const { generateAccessToken, sendAccessToken } = require('../tokenFunctions'); module.exports = async (req, res) => { //TODO: Deliver tokens after user authentication through login information await user .findOne({ where: { email: req.body.email, password: req.body.password }, }) .then((userObject) => { if (userObject) { res.append('set-cookie', 'jwt'); res.status(200).json({ message: 'ok' }); } else { res.status(404).send('invalid user'); } }); }; // server/tokenFuntions/index.js require('dotenv').config(); const { sign, verify } = require('jsonwebtoken'); module.exports = { generateAccessToken: (data) => { //TODO: sign with token }, sendAccessToken: (res, accessToken) => { //TODO: Deliver JWT tokens to cookies. res.json({ message: 'ok' }); }, isAuthorized: (req) => { //TODO: Verify by receiving JWT token information. //HINT: Receive JWT token information and verify it.Return the decoded payload using the verify function of the Jsonwebtoken library. }, }; // server/controllers/users/index.js module.exports = { auth: require('./users/auth'), signup: require('./users/signup'), signin: require('./users/signin'), signout: require('./users/signout'), };