0
我在远程服务器上使用Devise(用于身份验证)和omniauth gem的Rails应用程序。当我过去部署到Heroku时,我可以在终端中设置环境变量,但这不是我使用的远程服务器提供的。所以我说希望将设置在Devise.rb配置文件未设置.bashrc中的环境变量
config.omniauth :twitter, ENV["TWITTER_KEY"], ENV["TWITTER_SECRET"]
但是环境变量,当我试图与Twitter登录以下到.bashrc
export TWITTER_KEY="LxAuQ1Chmas;dlfkjdsal;fjds" TWITTER_SECRET="CC2XpLOeMJbvYphlafsdlkfjdsalkfj"
下,我得到这个
OAuth::Unauthorized (401 Unauthorized):
oauth (0.4.7) lib/oauth/consumer.rb:216:in `token_request'
oauth (0.4.7) lib/oauth/consumer.rb:136:in `get_request_token'
omniauth-oauth (1.0.1) lib/omniauth/strategies/oauth.rb:29:in `request_phase'
omniauth-twitter (1.0.0) lib/omniauth/strategies/twitter.rb:63:in `request_phase'
omniauth (1.1.4) lib/omniauth/strategy.rb:214:in `request_call'
所以我假设环境变量不能被正确读取。你能否以另一种方式解释我可以设置它们?
我早先在我的本地机器上尝试过figaro,无法启动它。我想也许它还没有准备好Rails 4。 – Leahcim
@Leahcim你试过哪个版本的figaro? 0.6.0之后的版本应该支持Rails 4.我建议尝试最新版本(0.7.0)。 – Domon
我昨天安装了最新的figaro,但没有奏效。如果我对api信息进行了硬编码,网站工作正常,所以我肯定这个错误来自我设置环境变量的方式,无论是使用figaro还是bashprofile。费加罗的死的简单,我将按照application.yml这样没有成功'TWITTER_KEY的例子环境变量:“LxAuQ1ChmG5dfljafkjdsalkfjg” TWITTER_SECRET:“CC2XpLOeMJbvYphfCyTQdlIsfljadsfkljadslkfjs”' – Leahcim