Saya memiliki aplikasi yang berjalan dengan suksesnya Google dan Facebook omniauthentication berjalan. Saya ingin menambahkan Login Linkedin juga dengan omniauth. Semua tampak baik-baik saja sampai saya meminta alamat email dengan menambahkan :scope => 'r_emailaddress' ke baris

devise.rb

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

Semua tampaknya benar jika saya menghapus r_emailaddress dan menambahkan cakupan lain seperti r_liteprofile sebagai

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

Berkas Permata

gem 'omniauth-linkedin-oauth2'

Kesalahan muncul di backend dan di ujung depan setelah berhasil meletakkan semua kredensial di halaman Linkedin, aplikasi dialihkan ke halaman beranda dan tidak memberikan kesalahan apa pun di UI.

Kesalahan yang terjadi di log adalah

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

Akan sangat bagus jika ada yang bisa membantu saya dalam hal ini.

0
Piyush Chaudhary 3 Juli 2020, 14:19

1 menjawab

Jawaban Terbaik

Hapus cakupan dan bidang keduanya dan coba ini:

config.omniauth :linkedin, ENV['LINKEDIN_CLIENT_ID'], ENV['LINKEDIN_CLIENT_SECRET']
0
Sakshi Jain 5 Agustus 2020, 10:43