【问题标题】:Multiple Twitter applications with omniauth具有omniauth 的多个Twitter 应用程序
【发布时间】:2015-09-21 12:35:30
【问题描述】:

我已经按照 omniauth wiki 上的文档配置了 devise + omniauth:https://github.com/intridea/omniauth/wiki/Setup-Phase

我的初始化器:

provider :twitter, nil, nil, setup: true

routes.rb:

get '/settings/auth/:provider/setup' => 'settings/authorization_callbacks#setup'

这是设置操作

def setup
  application_id = params[:application_id].present? ? params[:application_id] : request.env["rack.session"]["omniauth.params"]["application_id"]
  application = Application.find(application_id)
  request.env['omniauth.strategy'].options[:client_id] = application.identifier
  request.env['omniauth.strategy'].options[:client_secret] = application.secret
  render :text => "Setup complete.", :status => 404
end

结果是 400 Bad Request,我不知道为什么... 我检查并调用了正确的应用程序,在“omniauth.strategy”中设置了正确的值。

也许已经实现了这个的人可以猜到我的代码有什么问题?提前致谢。

【问题讨论】:

    标签: ruby-on-rails devise omniauth omniauth-twitter


    【解决方案1】:

    这是 omniauth-twitter gem 中的一个错误。

    为 Twitter 设置的键是

    request.env['omniauth.strategy'].options[:consumer_key] = application.identifier
    request.env['omniauth.strategy'].options[:consumer_secret] = application.secret
    

    https://github.com/arunagw/omniauth-twitter/issues/100

    【讨论】:

      猜你喜欢
      • 2014-06-07
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      相关资源
      最近更新 更多