我正在尝试通过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
我正在被遣返
看起来像
{
"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/
感谢。
答案 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