invalid_grant 在 rails 中使用 omniauth-reddit 时出错

invalid_grant error using omniauth-reddit in rails

我正在尝试使用 omniauth-reddit gem。我已经让帐户持有人说他们想 "allow" 我的应用程序授予访问他们帐户的权限。单击允许后,我从 Rails:

收到错误
OAuth2::Error
invalid_grant: {"error": "invalid_grant"}

这是我的 omniauth.rb 文件的样子:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :reddit, "XXX", "YYY", {:duration => "permanent", :scope => "identity,subscribe,vote,submit,history,read,mysubreddits"}
end

我的路线:

Rails.application.routes.draw do
  root 'homes#index'

  get '/auth/reddit', as: :reddit_login
  get '/auth/reddit/callback', to: "sessions#create"
end

也有这个。似乎 omniauth-reddit 的策略没有正常工作。

编辑:问题似乎来自更新版本的 omniauth-oatuh2 gem。

如果您在 Gemfile 中包含 gem 'omniauth-oauth2', '~> 1.3.1',它应该可以工作。