我有一个使用 facebook connect 来启用用户注册/登录的 rails 应用程序(使用设计和omniauth)。在阅读了几篇关于 Firesheep 的文章后,我决定为我的整个应用强制使用 ssl 通信。
我按照本教程强制我的 rails 3.0.x 应用程序只能通过 ssl 进行通信:http ://www.simonecarletti.com/blog/2011/05/configuring-rails-3-https-ssl/
我遵循本教程,以便我可以在 locahost:3001 上使用 webrick 在本地测试应用程序:http: //blog.readypulse.com/2012/01/19/setup-webrick-to-serve-ssl-https-as-以及非 ssl-http-traffic-side-by-side/
到现在为止还挺好。我的应用程序在运行时强制 ssl 通信localhost:3000
。尝试与 facebook connect 通信时出现我的问题
如果我将我的 facebook 开发应用程序的网站 url 更改为https://localhost:3001
,fb graph 会响应
{
"error": {
"message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
"type": "OAuthException",
"code": 191
}
}
但是,如果我将站点 url 更改为http:localhost:3001
我的服务器会收到一条错误消息,指出在加载页面时连接已重置。我的浏览器 URL 栏显示它尝试加载的 url 是localhost:3001/auth/facebook/callback?code=MYCODEHERE
,如果我只是在该 URL 前面添加“https://”并重新加载,页面将按预期加载。
也许我的问题源于我对 SSL 的非常基本的了解。但是,如果有人可以向我解释如何设置 facebook 开发应用程序以支持我通过 ssl 对 facebook connect 进行本地测试,我将不胜感激?