我有一个运行了 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}
如果有人能在这件事上帮助我,那将是很棒的事情。
答案 0 :(得分:0)
同时删除范围和字段,然后尝试以下操作:
config.omniauth :linkedin, ENV['LINKEDIN_CLIENT_ID'], ENV['LINKEDIN_CLIENT_SECRET']