在开发环境中使用Facebook身份验证

时间:2011-07-16 08:32:48

标签: facebook authentication oauth

使用OAuth2在客户端服务器端模式下使用facebook身份验证时,有没有办法在使用本地开发环境进行重定向uris时测试它?

显然,您可以在该IP上为您的计算机指定IP和路由端口80,但是有更简单的方法可以实现此目的吗?

2 个答案:

答案 0 :(得分:7)

在本地开发Facebook应用程序时不应该有任何问题 只需将Facebook设置页面上的网址设置为http://localhost/yourapp/,然后照常使用 所有OAuth程序都应该正常工作。

答案 1 :(得分:0)

根据我的经验,到目前为止,您可以使用相同的Facebook应用程序进行开发,测试,登台,制作等。密钥(由lnetanel提到)是应用程序应该配置不同的返回URL对于每个环境。例如,我使用devise + omniauth,并在... / config / initializers / omnniauth.rb中包含以下内容,用于构造返回URL:

if Rails.env.production?
  OmniAuth.config.full_host = "https://www.mydomain.com"
elsif Rails.env.test?
  OmniAuth.config.full_host = "https://www.stag.mydomain.com"
elsif Rails.env.development?
  OmniAuth.config.full_host = "https://localhost.mydomain.com"
end

请注意,我习惯在本地/ etc / hosts文件中添加localhost.mydomain.com,因此在开发过程中没有跨域问题,但这可能与此无关。