错误请求错误消息快递和护照

问题描述 投票:0回答:1

我有一个非常简单的 Express API,可以使用 Passport.js 进行身份验证:

const express = require("express");
const app = express();
const LocalStrategy = require("passport-local").Strategy;
const passport = require("passport");

passport.use(
  new LocalStrategy(function (username, password, done) {
    if (username === "admin" || password === "password") {
      // Authentication succeeded
      return done(null, { id: 1, username: "admin" });
    } else {
      return done(null, false);
    }
  })
);
app.use(passport.initialize());
app.get("/", (req, res) => {
  res.send("ok");
});
app.post("/login", passport.authenticate("local"), function (req, res) {
  res.json({ message: "Authentication successful" });
});
app.listen(3000, () => {
console.log(`http://localhost:3000/`);
});  

当我请求“/login”EX:

POST http://localhost:3000/login
    Content-Type: application/json

    {
        "username":"admin"
        ,"password":"password"
    }

响应说错误的请求

我是 Express.js 的新手,很难找到学习资源......我希望你能帮助我

javascript express passport.js
1个回答
0
投票

别生气,你把你的

/login
搞砸了一点点:

//app.post("/login", passport.authenticate("local"), function (req, res) {
//  res.json({ message: "Authentication successful" });
//});

app.post("/login", (req, res) => {
    passport.authenticate("local", (err, user, info) => {
      // if (err) {
      //   return res.status(500).json({ message: "Authentication error" });
      // }
      // if (!user) {
      //   return res.status(401).json({ message: "Authentication failed" });
      // }
  
      res.json({ message: "Authentication successful" });
    })(req, res);
});
© www.soinside.com 2019 - 2024. All rights reserved.