Когда я выполняю аутентификацию с помощью паспорта, я получаю сообщение об ошибке

#javascript #express #fetch #passport.js #insomnia

Вопрос:

Когда я выполняю выборку в API, ранее созданный с помощью Express и Passport, я получаю ошибку, подобную той, что на картинке: введите описание изображения здесь

Но когда я делаю пост-запрос с использованием Бессонницы, я получаю успешный ответ. введите описание изображения здесь

Это задействованный код . введите описание изображения здесь

 /*passport.js*/
const db = require("../../database");
const helpers = require("./helpers");
const passport = require("passport");
const LocalStrategy = require("passport-local").Strategy;

//SERIALIZING USER
passport.serializeUser((user, done) => {
  done(null, user.id);
});

//DESERIALIZING USER
passport.deserializeUser(async(id, done) => {
  const rows = await db.query(
    "SELECT id, nombre, apellidos, tipo_usuario FROM usuarios WHERE id = ? ", [id]
  );

  done(null, rows[0]);
});

//LOGIN SYSTEM
passport.use(
  "login",
  new LocalStrategy({
      usernameField: "email",
      passwordField: "password",
      passReqToCallback: false,
    },
    async(email, password, done) => {
      const rows = await db.query(
        "SELECT id, password FROM usuarios WHERE email = ?", [email]
      );

      console.log(rows);
      if (rows.length > 0) {
        const user = rows[0];

        const validate = await helpers.matchPassword(password, user.password);

        console.log(validate);
        if (validate) {
          done(null, user);
        } else {
          done(null, false, {
            message: "Incorrect Password"
          });
        }
      } else {
        done(null, false, {
          message: "User not found"
        });
      }
    }
  )
);

//SIGNUP SYSTEM
passport.use(
  "signup",
  new LocalStrategy({
      usernameField: "email",
      passwordField: "password",
      passReqToCallback: true,
    },
    async(req, email, password, done) => {
      const {
        nombre,
        apellidos
      } = req.body;

      const newUser = {
        nombre,
        apellidos,
        email,
        password
      };

      newUser.password = await helpers.encryptPassword(password);

      const result = await db.query("INSERT INTO usuarios SET ?", [newUser]);

      newUser.id = result.insertId;

      done(null, newUser, {
        message: "Signup Successful"
      });
    }
  )
); 
 /*auth.js*/
const { Router } = require("express");
const { isLoggedIn } = require("../middlewares/helpers");
const passport = require("passport");

//INITIALIZATION
const router = Router();

//ESTA ES LA PESTAÑA DE LOGIN
router.get("/login", (req, res) => {
  res.send("Login page");
});

//ESTA RUTA RECIBE LOS DATOS DEL FORMULARIO Y LOS COMPARA CON LOS DE LA BD
router.post("/login", async (req, res, next) => {
  passport.authenticate("login", {
    successRedirect: "/dashboard/profile",
    failureRedirect: "/auth/login",
    failureFlash: false,
  })(req, res, next);
});

//ESTA ES LA PESTAÑA DE SIGNUP
router.get("/signup", (req, res) => {
  res.send("Signup Page");
});

//RECIBE LOS DATOS DEL FORMULARIO REGISTRO USUARIO Y LOS AGREGA A LA BD
router.post(
  "/signup",
  passport.authenticate("signup", {
    successRedirect: "/dashboard/profile",
    failureRedirect: "/auth/signup",
    failureFlash: false,
  })
);

//LOGOUT
router.get("/logout", (req, res) => {
  req.logOut();
  res.redirect("/auth/login");
});

//EXPORTING AUTH ROUTES
module.exports = router; 

Комментарии:

1. Возможно, ваш запрос на извлечение неверен