Omniauth是否使用无效的uri进行Facebook授权?

时间:2011-02-04 01:10:42

标签: ruby-on-rails facebook omniauth

我正在关注Simple OmniAuth的Railscast(文本格式为http://asciicasts.com/episodes/241-simple-omniauth)。一切都很完美,直到我添加Facebook登录。在尝试“使用Facebook登录”链接时,我收到以下错误。

无效的redirect_uri:应用程序配置不允许使用URL。

我的登录链接页面的网址是“http://mluton.example.com:3000/characters/”。在我的Facebook应用程序的网站设置中,我将网站URL设置为“http://mluton.myfitv.com:3000/auth/facebook/callback/”。尾部斜杠是必需的。这是omniauth在进行身份验证请求时将设置为回调的内容。但是,如果我查看页面上带有上述错误的URL,我会在最后看到这一点。

REDIRECT_URI = HTTP%3A%2F%2Fmluton.example.com%3A3000%2Fauth%2Ffacebook%2Fcallback

没有斜线。 omn​​iauth和Facebook之间是否存在脱节或者我错过了什么?有没有办法覆盖默认回调网址omniuth生成?

2 个答案:

答案 0 :(得分:0)

这需要一些试验和错误来自己工作。在回调网址的末尾尝试使用问号。这在开发者控制台中对我有用: HTTP://:3000 /用户/ AUTH /实/回调

答案 1 :(得分:0)

您不需要URL的路径组件。尝试将您的网站网址设置为your app's settings中的http://mluton.myfitv.com:3000/。您还可以将“站点域”设置为mluton.myfitv.com

你可能会发现facebook的documentation on server-side authentication很有用,虽然它对于基于redirect_uri的验证究竟如何运作的细节有点不足。