Express 无法使用passport本地策略对用户进行身份验证
我使用的是Ionic2前端和Node/Express/Mongo后端。我已经配置了Passport本地策略来登录用户,并配置了一个简单的中间件来确定用户是否经过身份验证以访问受限制的端点。当我在Postman客户端中测试时,这一切都很好。然而,当我从浏览器登录并尝试访问端点时,它失败了。我们看到的是浏览器(Chrome)在“set cookie”头中返回cookie值,而Passport似乎在“cookie”头中查找cookie值。我试图在我的应用程序的GET请求中设置Cookie头,但出于安全原因,显然无法完成。如何让应用程序在cookie头中返回cookie值Express 无法使用passport本地策略对用户进行身份验证,express,cookies,passport.js,middleware,setcookie,Express,Cookies,Passport.js,Middleware,Setcookie,我使用的是Ionic2前端和Node/Express/Mongo后端。我已经配置了Passport本地策略来登录用户,并配置了一个简单的中间件来确定用户是否经过身份验证以访问受限制的端点。当我在Postman客户端中测试时,这一切都很好。然而,当我从浏览器登录并尝试访问端点时,它失败了。我们看到的是浏览器(Chrome)在“set cookie”头中返回cookie值,而Passport似乎在“cookie”头中查找cookie值。我试图在我的应用程序的GET请求中设置Cookie头,但出于安全
Middleware
function userAuthenticated(req, res, next){
//returns value from Postman; undefined from app
console.log(req.get('Cookie').toString());
//returns value from app; undefined from Postman
console.log(req.get('set-cookie').toString());
if(req.isAuthenticated()){
return next();
}
res.send([{"message":"not logged in"}]);
}
Protected endpoint
router.get('/books', userAuthenticated, function (req, res, next) {
Book.find({}, function(err, docs){
if(err) {
res.send(err);
} else {
res.json(docs);
//next();
}
})
});
您是否为passport配置了会话机制