我可以在Rails中获得更详细的OAuth事务记录吗?

时间:2013-12-30 16:59:14

标签: ruby-on-rails oauth-2.0 omniauth

我正在使用Omniauth进行OAuth2授权。 (请参阅我的fruitless cries for help。)我尝试改变我们的身份验证方式,但这种方式失败了。所以我恢复了所有的改变,回到了一个有效的系统......现在也没有用。 (我收到“无法验证访问代码”错误。)

代码中没有任何变化,我已经在git中验证了这一点。但部署的生产版本有效,而我的开发版本没有。为了调试这个,我想看看我的应用程序和IDP之间的对话,但如果我能看到它,我会被诅咒。

有没有办法让Omniauth更多地记录它正在做的事情,例如“使用凭据#{whatever}”从#{url}请求OAuth令牌?那么也许我可以弄清楚出了什么问题。

2 个答案:

答案 0 :(得分:2)

看起来将块传递给Oauth2::Client.new可以让您使用额外的法拉第中间件 - :logger中间件会转储请求+对STDOUT的响应:

client = OAuth2::Client.new('client_id', 'client_secret', :site => 'https://example.org') do |connection|
  connection.response :logger
end

答案 1 :(得分:1)

gem的另一个选择是更改环境变量:

ENV['OAUTH_DEBUG'] = 'true'

这在某些地方进行了一些额外的记录,like here