MEANjs Passport回调不起作用(404)

时间:2016-04-04 01:30:30

标签: angularjs node.js oauth-2.0 passport.js meanjs

我正在使用MEANjs构建一个网络应用程序,我在Facebook,Twitter和Google+的Oauth回调方面遇到了一些麻烦(lnkedin正常工作)。基本上一切正常,但回调给了我“找不到页面”Error: /api/auth/facebook/[object%20Object] is not a valid path.

如果我导航到另一个页面,我发现我已登录。路由似乎是正确的,由MEANjs生成

app.route('/api/auth/facebook').get(users.oauthCall('facebook', {
    scope: ['email']
  }));
  app.route('/api/auth/facebook/callback').get(users.oauthCallback('facebook'));

我已经在Facebook应用设置中检查了回调,他们没事。完全难倒。会喜欢任何帮助或建议。

感谢。

2 个答案:

答案 0 :(得分:4)

@ user3632710的评论让我想到了@Paul建议的问题,这确实是一个URL连接问题。违规代码位于modules/users/server/controllers/users/users.authentication.server.controller.js

的第121行

是:return res.redirect(redirectURL || sessionRedirectURL || '/');

现在我刚刚对此进行了评论并重定向到了根目录,这对我的目的来说很好但通常不优雅:

return res.redirect('/');

感谢您的帮助,希望这有助于其他人。

答案 1 :(得分:0)

无论什么代码构建您的网址显然都做得不对。看起来你正在对一个对象调用toString()(直接或间接),并且这个URL与所讨论的URL连接在一起,你的服务器端路由不知道如何处理。您发布的代码不完整,可帮助我们找到您的错误,但我会查看构建该网址的任何逻辑。