Не могу получить информацию об авторизации от Linkedin - PullRequest
0 голосов
/ 30 июня 2019

Я работаю над аутентификацией с LinkedIn. Я не знаю почему, но LinkedIn не позволяет войти в систему внезапно. Я могу разрешить приложение LinkedIn, но не могу получить информацию для аутентификации.

{"provider"=>"linkedin",
"uid"=>nil,
"info"=>
  {"name"=>nil,
  "email"=>nil,
  "nickname"=>nil,
  "first_name"=>nil,
  "last_name"=>nil,
  "location"=>nil,
  "description"=>nil,
  "image"=>nil,
  "phone"=>nil,
  "headline"=>nil,
  "industry"=>nil,
  "urls"=>{"public_profile"=>nil}},
"credentials"=>{"token"=>"facdxxx-xxx-xxxx-xxxx-xxxxxxxxx", "secret"=>"2xxxxx-xxxx-xxxx-xxxx-xxxxxxx"}}

omniauth_controller.rb

class OmniauthCallbacksController < Devise::OmniauthCallbacksController
    def linkedin
        @user = User.from_omniauth(request.env["omniauth.auth"].except("extra"))

        if @user.persisted?
            sign_in_and_redirect @user, event: :authentication
        else
            session["devise.user_attributes"] = @user.attributes
            redirect_to new_user_registration_url
        end
    end
end

Должен ли я обновить настройки приложения LinkedIn? Интересно, это не имеет значения для приложения рельсов ...

Gemfile

gem 'omniauth-linkedin'

Я использую omniauth-linkedin.

Когда я регистрируюсь в феврале, у меня есть разрешение, как показано ниже.

Но сейчас всего три.

Как добавить разрешения в LinkedIn?

1 Ответ

0 голосов
/ 01 июля 2019

Есть так много вещей, что это может быть на самом деле, но вот одну вещь, которую вы можете попробовать; Возможно, вы не запрашивали правильный доступ при настройке приложения. Согласно документам :

При запросе кода авторизации на шаге 2 Руководства OAuth 2.0 обязательно запрашивайте области r_liteprofile и / или r_emailaddress!

Согласно документации вы можете установить их через запрос или через портал разработчика

...