我试图使用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']
关于可能发生的事情的任何想法?
答案 0 :(得分:10)
我遇到了同样的问题,我找到了解决问题的方法。 在您的Gemfile中输入:
#Contains a generic OAuth2 strategy for OmniAuth
gem 'omniauth-oauth2', '~> 1.3.1'
最后做:
bundle update
我认为它应该有用。