在代理服务器后面使用passport.js社会认证?

时间:2017-04-23 14:57:23

标签: node.js proxy webpack

我们在4040端口上运行前端,在5050上后端运行。

我们设置了一个处理社交身份验证的node.js服务器,与在护照文档中完成相同:

app.get('/api/login/facebook', 
    passport.authenticate('facebook', { scope : 'email' }
));

app.get('/api/login/facebook/callback',
    passport.authenticate('facebook', {
        failureRedirect: '/api/try_again',
        successRedirect : '/api/good_job'
}));

直接浏览本地后端端口时可以使用,即:localhost:5050/api/login/facebook

但是,在使用http-proxy从webpack设置代理并使用前端地址localhost:4040/api/login/facebook登录后,它会中断并进入无限重定向循环。

1 个答案:

答案 0 :(得分:0)

我们正在使用vuepack代理设置不正确(不记得如何)。 更改server.js文件并代理后如下:

app.use('/api', proxy('http://arena.app:3030/', {
  proxyReqPathResolver: function(req) {
    return require('url').parse(req.url).path;
  }
}));

似乎有效,使用:express-http-proxy