Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 设计omniauth facebook需要参数app_id_Ruby On Rails_Devise_Omniauth_Omniauth Facebook - Fatal编程技术网

Ruby on rails 设计omniauth facebook需要参数app_id

Ruby on rails 设计omniauth facebook需要参数app_id,ruby-on-rails,devise,omniauth,omniauth-facebook,Ruby On Rails,Devise,Omniauth,Omniauth Facebook,我正在尝试使用omniauth设置Desive,允许通过我的rails应用程序登录facebook。我已经阅读了一些指南/SO问题,他们指出我没有在运行rails应用程序的盒子上的环境变量中设置FACEBOOK\u APP\u ID。我在生产框上设置了一个环境变量,应用程序在该特定用户下运行。我将FACEBOOK\u APP\u ID和FACEBOOK\u SECRET环境变量添加到.bashrc中,并通过FACEBOOK apps页面将应用程序置于开发模式。我还通过facebook网站上的开发

我正在尝试使用omniauth设置Desive,允许通过我的rails应用程序登录facebook。我已经阅读了一些指南/SO问题,他们指出我没有在运行rails应用程序的盒子上的环境变量中设置
FACEBOOK\u APP\u ID
。我在生产框上设置了一个环境变量,应用程序在该特定用户下运行。我将
FACEBOOK\u APP\u ID
FACEBOOK\u SECRET
环境变量添加到
.bashrc
中,并通过FACEBOOK apps页面将应用程序置于开发模式。我还通过facebook网站上的开发者应用门户查看了应用程序的
角色
部分,并且我的facebook帐户设置为
管理员
,所以我有点困惑为什么这不起作用。目前我看到类似的情况,

只是不使用环境变量,让我们假设我的appid是121,secret是abc

然后我的
omniauth.rb
将如下所示:

OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, "121", "abc"
end

简单地说,不要使用环境变量,让我们假设我的appid是121,secret是abc

然后我的
omniauth.rb
将如下所示:

OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, "121", "abc"
end

您确定变量的位置正确吗?bashrc?实际运行rails服务器实例的用户之一?是的,我刚刚检查了两次,puma正在通过capistrano部署应用程序的用户下运行,我回显了
FACEBOOK\u APP\u ID
,它打印了字符的散列。我记得在一次capistrano部署中也遇到了同样的问题,最后使用figaro gem跟踪我的全局变量。。。这可能不是您要寻找的答案,但可能是您完成此任务的另一种方式:)我记得启动服务器的capistrano实例在登录到服务器时不运行bashrc,因为它不运行交互式会话。您可以在这里查看一些解决方案:您可以使用一个很好的gem调用dotenv您确定变量位于正确的位置。bashrc?实际运行rails服务器实例的用户之一?是的,我刚刚检查了两次,puma正在通过capistrano部署应用程序的用户下运行,我回显了
FACEBOOK\u APP\u ID
,它打印了字符的散列。我记得在一次capistrano部署中也遇到了同样的问题,最后使用figaro gem跟踪我的全局变量。。。这可能不是您要寻找的答案,但可能是您完成此任务的另一种方式:)我记得启动服务器的capistrano实例在登录到服务器时不运行bashrc,因为它不运行交互式会话。您可以在这里查看一些解决方案:您可以使用一个很好的gem调用dotenv