【发布时间】:2012-01-02 19:51:00
【问题描述】:
我创建了一个使用 Twitter Ruby gem 的网站。在本地主机上,我可以让 Twitter gem 正常工作,但是当我将它部署到 Heroku 时,我无法通过 Twitter 登录。
Heroku 提供了有关添加 CONSUMER_KEY 和 CONSUMER SECRET 的说明(使用 Amazon S3 变量)
$ cd myapp
$ heroku config:add S3_KEY=some_key_here S3_SECRET=some_secret_here
我做到了。
然后,当我去测试登录时,我在 url 中得到了这个。此网址与(在本地主机上)我忘记添加 CONSUMER_KEY 等时相同,所以我认为我没有在 Heroku 上正确设置 CONSUMER_KEY 和 CONSUMER_SECRET ......
Heroku 提供了有关在 config/initializers 中设置文件以在运行时读取变量的更多详细信息,但我认为我分叉然后改编的 Github 项目已经设置了 https://github.com/sferik/sign-in-with-twitter/blob/master/config/initializers/omniauth.rb 所以我不确定发生了什么在。
Set up your code to read the vars at runtime in config/initializers/s3.rb:
AWS::S3::Base.establish_connection!(
:access_key_id => ENV['S3_KEY'],
:secret_access_key => ENV['S3_SECRET']
)
更新
当我尝试通过 Twitter 登录时,Heroku 日志中出现错误消息。注意,我可以通过本地主机登录。
2012-01-02T20:01:43+00:00 app[web.1]:
2012-01-02T20:01:43+00:00 app[web.1]: Started GET "/auth/twitter?utf8=%E2%9C%93" for 64.46.7.250 at 2012-01-02 20:01:43 +0000
2012-01-02T20:01:44+00:00 app[web.1]:
2012-01-02T20:01:44+00:00 app[web.1]: OAuth::Unauthorized (401 Unauthorized):
2012-01-02T20:01:44+00:00 app[web.1]:
【问题讨论】:
-
您可能想更好地隐藏您的密钥和秘密,这很容易阅读。
-
收到错误页面时 Heroku 日志中的错误消息是什么?
-
@BrandonTilley 我用错误消息更新了 OP。
-
看看this question 看看是否有帮助(尤其是 Twitter 设置)
标签: ruby-on-rails heroku