Rails Omniauth for Linkedin无法正常工作

Jua*_*uez 6 ruby-on-rails devise omniauth omniauth-linkedin

我正在尝试使用Devise,Omniauth和omn​​iauth-linkedin-oauth-2 获取OmniauthLinkedin访问令牌.无论是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"}
Run Code Online (Sandbox Code Playgroud)

linkedin应用程序ID和秘密身份验证正在工作,因为我在omniauth上收到回调,事情是我无法意识到问题在这里.

下面的设计配置:

  config.omniauth :linkedin, ENV['LINKEDIN_APP_ID'], ENV['LINKEDIN_APP_SECRET']
Run Code Online (Sandbox Code Playgroud)

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

小智 10

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

#Contains a generic OAuth2 strategy for OmniAuth
gem 'omniauth-oauth2', '~> 1.3.1'
Run Code Online (Sandbox Code Playgroud)

最后做:

bundle update
Run Code Online (Sandbox Code Playgroud)

我认为它应该有效.

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