我有一个运行在端口号5000的node.js应用程序,在那里我使用passport.js进行授权。我通过post请求授权用户,其中我使用自定义回调函数:
this.router.post('/member/login', (req, res, next) => {
passport.authenticate('local', (err, member, info) => {
if (err) res.json(400).json({message: "An error ocurred"});
if (!member) {
console.log("No member found!");
return res.status(409).json({message: "No member found!"})
}
req.logIn(member, (err) => {
if (err) {
console.log(err);
return res.status(400).json({message: "An error ocurred"});
}
return res.json(member);
});
})(req, res, next);
});
这个工作正常,但是在本地开发时,我有一个前端Angular2应用程序,它在不同的端口上运行(4200),所以在开发中我无法获取授权用户:req.user未定义。 我使用express-session存储授权用户。
当我部署时,将两个应用程序捆绑在一起,所有内容都可以正常工作。
有人对此问题有好的简单解决方案吗?再次强调,这只是在开发过程中我遇到的问题。