Omniauth定制提供商和战略w /门卫

时间:2013-09-05 10:32:20

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

我有一个使用Doorkeeper

构建的自定义OAuth2提供程序(是一个Rails应用程序)

并使用OmniAuth构建自定义客户端策略

问题是我在config/initializers/devise.rb

中设置此问题
config.omniauth :mystrategy, "apikey", "secret"

然后我会收到这个错误:

(mystrategy) Callback phase initiated.
(mystrategy) Authentication failure! invalid_credentials: 
OmniAuth::Strategies::OAuth2::CallbackError, OmniAuth::Strategies::OAuth2::CallbackError

如果我将devise.rb中的配置更改为

config.omniauth :mystrategy, "apikey", "secret", {:provider_ignores_state => true} 

然后一切都好......

我无法弄清楚导致这个问题的原因。似乎问题是Rails的CSRF保护?

1 个答案:

答案 0 :(得分:0)

尝试将omniauth-oauth2更改为版本

gem "omniauth-oauth2", "~> 1.0.2"