使用facebook omniauth时遇到问题

时间:2012-09-14 16:45:37

标签: ruby facebook sinatra

我正在尝试通过facebook验证我有一个sinatra应用程序与twitter正常工作。

app.rb

use OmniAuth::Builder do
provider :twitter, 'xxx', 'yyy'
provider :facebook, 'xxx', 'yyy', :redirect_uri => 'http://localhost:9393/auth/facebook'
end

我在我的视图中引用了facebook链接,

     %a{:href=>"/auth/twitter"} Sign In To Twitter
     %a{:href=>"/auth/facebook"} Sign In To Facebook

我正在被遣返

https://graph.facebook.com/oauth/authorize?response_type=code&client_id=268504329935589&redirect_uri=http%3A%2F%2F0.0.0.0%3A9393%2Fauth%2Ffacebook%2Fcallback&state=a88cbf5f83b2faeac173f23138440cddf48cd5faf0039fe6&scope=email

看起来像

{
"error": {
  "message": "Invalid redirect_uri: Given URL is not allowed by the Application      configuration.",
  "type": "OAuthException",
  "code": 191
   }
}

据我所知,我的设置看起来正确。很多帖子都存在关于这个问题与Facebook和应用注册网址绑定的问题。

在Facebook上,此应用已注册为

Site URL
http://localhost:9393/
Site Domain
http://localhost:9393/

感谢。

3 个答案:

答案 0 :(得分:1)

我实际上找到了答案,

App Domains: localhost/Website with Facebook Login: http://localhost:9393/?

localhost上的/?(网站w fb登录)是重要的细节

答案 1 :(得分:0)

尝试应用域名:http://localhost/

它在rails中为我工作

Site URL:    http://localhost:3000/

App Domains: http://localhost/

答案 2 :(得分:0)

我通常在facebook中注册一个开发应用程序并将redirect_uri添加到我的hosts文件中。通常类似于:

127.0.0.1 dev.mycoolapp.com