2016-04-04 27 views
2

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

如果我浏览到另一个页面,我发现我在我登录该路线似乎是正确的,通过MEANjs所产生

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

我检查了在Facebook的应用程序设置的回调和他们很好。完全难倒了。会爱任何帮助或建议。

谢谢。

+0

看看angular-fullstack的实现 - https://github.com/angular-fullstack/generator-angular-fullstack/tree/master/app/templates/server/auth(auth) – YOU

+1

[This](https ://github.com/meanjs/mean/issues/1290)可能是一个相关问题 – user3632710

+0

感谢@ user3632710,这导致我的答案,将张贴在下面。 – theSiberman

回答

0

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

+0

谢谢,你是对的,问题是关于URL生成器,上面的评论导致我的罪魁祸首,将在下面发布答案。干杯。 – theSiberman

4

@ user3632710发表的评论让我想起了@Paul建议的确实是URL连接问题的问题。有问题的代码是在modules/users/server/controllers/users/users.authentication.server.controller.js

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

现在我只是评论了这一点,并重定向到根,这是很好的,我的目的,但通常不雅:

return res.redirect('/'); 

感谢您的帮助,希望这可以帮助别人。

+0

谢谢@theSiberman。这帮助了我,但你让我知道它是如何解决的 – x0v