【问题标题】:omniauth w/ Twitter not working on rails 3.1.0.rc5带有 Twitter 的 omniauth 无法在 rails 3.1.0.rc5 上运行
【发布时间】:2011-10-26 04:20:58
【问题描述】:

我有一个在 3.1.0.rc5 上运行的 Rails 应用程序,我已经为 twitter 设置了omniauth,与此处看到的完全相同 (https://github.com/sferik/sign-in-with-twitter) 但是它仍然无法正常工作。

问题在于,在 Twitter 重定向回我的回调 URL 后,我的 request.env["omniauth.auth"] 为 nil,rack.auth 也为 nil。我什至打印出了整个 request.env 哈希,但没有看到 access_token 或 access_secret 之类的东西。

唯一看起来不像我的请求令牌和秘密的东西存储在 action_dispatch.secret_token 中。

关于如何完成这项工作的任何想法?

【问题讨论】:

    标签: ruby-on-rails-3 omniauth


    【解决方案1】:

    好的,所以我现在开始工作了。我的 Gemfile 是:

    gem "oa-oauth", :require => "omniauth/oauth"
    gem "twitter"
    

    我改成:

    gem 'omniauth', :git => 'git://github.com/intridea/omniauth.git'
    gem 'twitter'
    gem 'json_pure' 
    gem 'json'
    

    一切都开始工作了。 request.env["omniauth.auth"] 键存在等。由于我遇到未初始化的常量 JSON::ParserError 错误,我不得不添加 json gem 行。我认为这是候选版本中的一个错误。

    【讨论】:

    • 我遇到了同样的问题,但我无法通过添加您提到的 gem 来解决它。我尝试使用 rc5,现在使用 rc6。您的 gem 文件中是否有其他 gem 丢失可能导致 request.env["omniauth.auth"] 为零?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 2013-12-16
    • 1970-01-01
    相关资源
    最近更新 更多