Ruby on rails 设计omniauth facebook需要参数app_id
我正在尝试使用omniauth设置Desive,允许通过我的rails应用程序登录facebook。我已经阅读了一些指南/SO问题,他们指出我没有在运行rails应用程序的盒子上的环境变量中设置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网站上的开发
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