【发布时间】:2011-09-15 20:11:44
【问题描述】:
我有一个如下所示的初始化文件:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, '000000000000000', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
end
我的应用程序可以正常工作。
我不想硬编码凭据,所以我将其更改为:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET']
end
我在bash中设置了相应的环境变量,然后重启了我的应用。
当我使用 rails 控制台时,ENV['FACEBOOK_KEY'] 和 ENV['FACEBOOK_SECRET'] 输出正确的值。
但是我的应用程序不再工作了,我在使用omniauth 时收到“缺少client_id 参数”的响应。
{
"error": {
"message": "Missing client_id parameter.",
"type": "OAuthException"
}
}
我很困惑。
这不是访问环境变量的正确方法吗?它在初始化程序中是否以另一种方式工作?
如何从初始化程序访问环境变量?
顺便说一句,我使用的是 Ubuntu 11.04。
谢谢
【问题讨论】:
标签: ruby-on-rails-3 oauth environment-variables ruby-on-rails-3.1 omniauth