Usando omniauth-linkedin com Rails

Primeiro

Ryan fez um tutorial detalhado sobre como usar o Omniauth . O que eu coloco aqui são várias coisas para prestar atenção quando você trabalha com o Linkedin.

Gemas para trabalhar com Omniauth e Linkedin:

gem 'omniauth'
gem
'omniauth-linkedin'

Então, basicamente, todas as informações que você deseja recuperar da conta do usuário no Linkedin devem ser colocadas em config/initializers/omniauth.rb</code>

Rails.application.config.middleware.use OmniAuth::Builder do
provider
:linked_in, "XXX", "XXX",
:scope => "r_basicprofile r_emailaddress",
:field => ["id", "email-address"]
end

:field</code> is where you tell Omniauth what to get from Linkedin, such things as:

"first-name", "last-name", "headline", "picture-url", "public-profile-url

Aqui está uma lista de todos os campos disponíveis.

Notas laterais

A última atualização do Omniauth não usa hash['user_info']['name']</code> anymore, but hash['info']['name']</code>.

Além disso, o URL recuperado do perfil público do Linkedin não é amigável.

--- !ruby/hash:Hashie::Mashpublic_profile: http://linkedin.com/in/user

Registrei um problema aqui para que o criador da gema possa corrigi-lo. Por enquanto, vamos nos contentar com esta solução:

hash['info']['urls'].to_s.gsub('#<Hashie::Mash public_profile="','').gsub('">',''))

Verifique esta essência se não souber onde colocar esse código.

  • T.