6

我正在尝试使用 Devise、Omniauth 和omniauth-linkedin-oauth-2通过 Omniauth 获取 Linkedin 访问令牌。无论是使用 facebook 还是 twitter,我都可以获得访问令牌,但是当我使用linkedin 尝试它时,我在omniauth 回调中收到以下错误:

ERROR -- omniauth: (linkedin) Authentication failure! invalid_credentials: OAuth2::Error, invalid_request: missing required parameters, includes an invalid parameter value, parameter more than once. : Unable to retrieve access token : appId or redirect uri does not match authorization code or authorization code expired
{"error_description":"missing required parameters, includes an invalid parameter value, parameter more than once. : Unable to retrieve access token : appId or redirect uri does not match authorization code or authorization code expired","error":"invalid_request"}

Linkedin 应用程序 ID 和秘密身份验证正在工作,因为我在omniauth 上收到回调,问题是我无法意识到这里的问题是什么。

设计如下配置:

  config.omniauth :linkedin, ENV['LINKEDIN_APP_ID'], ENV['LINKEDIN_APP_SECRET']

关于可能发生什么的任何想法?

4

1 回答 1

10

我有同样的问题,我找到了解决这个问题的方法。在你的 Gemfile 中放这个:

#Contains a generic OAuth2 strategy for OmniAuth
gem 'omniauth-oauth2', '~> 1.3.1'

最后做:

bundle update

我认为它应该工作。

更多信息: https ://github.com/intridea/omniauth-oauth2/issues/81

于 2015-12-15T16:05:46.377 回答