Linkedin Omniauth gem'omniauth-linkedin-oauth2'给出身份验证失败! invalid_credentials:OAuth2 :: Error

时间:2020-07-03 11:19:28

标签: ruby-on-rails ruby linkedin omniauth omniauth-linkedin

我有一个运行了 Google Facebook 全方位身份验证成功的应用程序。我也想用omniauth添加Linkedin Login。在我通过向该行添加:scope =>'r_emailaddress'来请求电子邮件地址之前,一切似乎都还不错。

devise.rb

  config.omniauth :linkedin, ENV['LINKEDIN_CLIENT_ID'], ENV['LINKEDIN_CLIENT_SECRET'], :scope => 'r_emailaddress', :fields => ['email', 'id', 'first-name', 'last-name']

如果我删除了 r_emailaddress 并添加了其他范围,如 r_liteprofile 作为

,则一切似乎都是正确的
  config.omniauth :linkedin, ENV['LINKEDIN_CLIENT_ID'], ENV['LINKEDIN_CLIENT_SECRET'], :scope => 'r_liteprofile', :fields => ['email', 'id', 'first-name', 'last-name']

宝石文件

gem 'omniauth-linkedin-oauth2'

在将所有凭据成功放置在Linkedin页面上之后,该错误将在后端和前端出现,该应用程序将重定向到主页,并且在UI中未给出任何错误。

它在日志中引发的错误是

ERROR -- omniauth: (linkedin) Authentication failure! invalid_credentials: OAuth2::Error, : 
{"serviceErrorCode":100,"message":"Not enough permissions to access: GET /me","status":403}

如果有人能在这件事上帮助我,那将是很棒的事情。

1 个答案:

答案 0 :(得分:0)

同时删除范围和字段,然后尝试以下操作:

config.omniauth :linkedin, ENV['LINKEDIN_CLIENT_ID'], ENV['LINKEDIN_CLIENT_SECRET']