0

我正在尝试使用 facebook 进行身份验证我有一个 sinatra 应用程序可以在 twitter 上正常工作。

应用程序.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=a88cbf5f83b2faeac173f23138440cddf6&scopee=

看起来像

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

据我所知,我的设置看起来是正确的。存在许多关于此问题与 facebook 和应用程序注册 url 相关的帖子。

在 facebook 上,这个应用程序被注册为

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

谢谢。

4

3 回答 3

1

我真的找到了答案

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

本地主机上/?(网站 w fb 登录)是重要的细节

于 2012-10-26T23:58:15.693 回答
0

尝试应用程序域:http://localhost/

它在 Rails 中为我工作

Site URL:    http://localhost:3000/

App Domains: http://localhost/
于 2012-09-14T18:20:49.753 回答
0

我通常在 facebook 中注册一个开发应用程序并将 redirect_uri 添加到我的主机文件中。通常是这样的:

127.0.0.1 dev.mycoolapp.com
于 2012-09-14T23:34:09.307 回答