如何获得护照策略回复

时间:2018-08-11 17:01:02

标签: node.js express authentication passport.js passport-local

当前,当我通过邮递员向/ login发送POST请求时,我从/ login路由获得响应。我想知道,请问我如何获得护照策略中设置的回复?

这是我的护照策略。

passport.use(
  new LocalStrategy((username, password, done) => {
    // Match user
    User.findOne({
      username: username
    }).then(user => {
      if (!user) {
        return done(null, false, { message: "No User Found" });
      }

      // Match password
      bcrypt.compare(password, user.password, (err, isMatch) => {
        if (err) throw err;
        if (isMatch) {
          return done(null, user, { message: "Success" });
        } else {
          return done(null, false, { message: "Password Incorrect" });
        }
      });
    });
  })
);

这是我的登录路线

router.post("/login", (request, response, next) =>
  passport.authenticate("local", (error, user) => {
    if (error) return next(error);
    if (!user) {
      return response.send({
        success: false,
        message: ["User account not found", "error"]
      });
    }
    console.log("user" + user);
    console.log("request" + request);

    return request.login(user, err => {
      if (err) {
        return next(err);
      }

      return response.send({
        success: true,
        message: ["Successfully logged in", "success"]
      });
    });
  })(request, response, next)
);

0 个答案:

没有答案