Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用相同的facebook apikey进行heroku制作和本地开发_Ruby On Rails_Facebook_Omniauth - Fatal编程技术网

Ruby on rails 使用相同的facebook apikey进行heroku制作和本地开发

Ruby on rails 使用相同的facebook apikey进行heroku制作和本地开发,ruby-on-rails,facebook,omniauth,Ruby On Rails,Facebook,Omniauth,我想在本地机器上测试我的rails应用程序,并在heroku上运行它。但是,如果我在facebook应用程序设置中为“网站”字段指定了我的IP地址,那么我的heroku就会中断,反之亦然。有没有办法让它们都使用相同的API密钥工作 如果不是,我如何告诉Omniauth在开发环境中使用一个api键,在生产环境中使用另一个api键?谢谢 为开发(本地)和生产(Heroku)使用单独的FB应用程序 从环境中读取密钥,如: ENV[“FACEBOOK应用程序ID”] ENV[“FACEBOOK_机密”]

我想在本地机器上测试我的rails应用程序,并在heroku上运行它。但是,如果我在facebook应用程序设置中为“网站”字段指定了我的IP地址,那么我的heroku就会中断,反之亦然。有没有办法让它们都使用相同的API密钥工作


如果不是,我如何告诉Omniauth在开发环境中使用一个api键,在生产环境中使用另一个api键?谢谢

为开发(本地)和生产(Heroku)使用单独的FB应用程序

从环境中读取密钥,如:

ENV[“FACEBOOK应用程序ID”] ENV[“FACEBOOK_机密”]

然后使用
Heroku-config:add
在Heroku上的配置中设置key/creds

本地使用foreman运行您的应用程序,并在.env文件中设置dev key/creds


请记住,FB要求您使用SSL,因此您需要在本地设置一些东西来处理SSL请求。

您必须创建另一个用于开发的Facebook开发应用程序,我就是这么做的,或者,您必须在/etc/hosts文件中创建一个条目,将Heroku应用程序的主机名指向本地计算机

感谢env提示,为了方便起见,我最终在omniauth.rb中这样做了:if Rails.env==“development”provider:facebook、“123”、“asdf”elsif Rails.env==“production”provider:facebook、“321”、“fdsa”end