这是请求身份验证的客户端代码
$("form#login-form").on("click", "#submit", function (e) {
e.preventDefault();
$.ajax({
url: "/login",
type: "POST",
data: JSON.stringify({ email: $("#email").val(), password: $("#password").val() }),
contentType: "application/json; charset=utf-8",
dataType: "json",
}).done(function (response, textStatus, jqXHR) {
utils.clearErrors();
location.reload();
}).fail(function (jqXHR, textStatus, errorThrown) {
// handle the error
utils.handleError(jqXHR, textStatus, errorThrown);
})
});
以下是护照身份验证的节点API
app.post('/login', passport.authenticate('local-login'), (req, res, next) => {
return res.json({ user: req.user });
});
在ajax调用的情况下,Passport.authenticate函数不会调用中间件函数,但如果使用表单提交页面,那么它可以正常工作。
答案 0 :(得分:0)
您要求进行身份验证的功能是
passport.authenticate('local');
它依赖于您所包含的模块。 请查看https://github.com/rupalipemare/Mongoose-Demo上的代码,其中有完整的示例演示护照身份验证。希望这有帮助