我有一个使用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 保护上?