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

Linkedin Omniauth gem 'omniauth-linkedin-oauth2' giving Authentication failure! invalid_credentials: OAuth2::Error

我有一个申请 运行 成功 GoogleFacebook omniauthentication 运行。我也想用 omniauth 添加 Linkedin 登录。一切似乎都很好,直到我通过将 :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']

Gemfile

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}

如果有人能在这件事上帮助我,那就太好了。

同时删除作用域和字段,然后试试这个:

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