Sha256: 23a64ebd3d72291b83e91c36b0c39f7e1ea0ee62635cc2bb14e15c4d70f56d8f
Contents?: true
Size: 1.69 KB
Versions: 2
Compression:
Stored size: 1.69 KB
Contents
require "rubygems" require "haml" require "sinatra" require "linkedin" enable :sessions helpers do def login? session[:atoken].nil? end def profile linkedin_client.profile unless session[:atoken].nil? end def connections linkedin_client.connections unless session[:atoken].nil? end private def linkedin_client client = LinkedIn::Client.new(settings.api, settings.secret) client.authorize_from_access(session[:atoken], session[:asecret]) client end end configure do # get your api keys at https://www.linkedin.com/secure/developer set :api, "your_api_key" set :secret, "your_secret" end get "/" do haml :index end get "/auth" do client = LinkedIn::Client.new(settings.api, settings.secret) request_token = client.request_token(:oauth_callback => "http://#{request.host}:#{request.port}/auth/callback") session[:rtoken] = request_token.token session[:rsecret] = request_token.secret redirect client.request_token.authorize_url end get "/auth/logout" do session[:atoken] = nil redirect "/" end get "/auth/callback" do client = LinkedIn::Client.new(settings.api, settings.secret) if session[:atoken].nil? pin = params[:oauth_verifier] atoken, asecret = client.authorize_from_request(session[:rtoken], session[:rsecret], pin) session[:atoken] = atoken session[:asecret] = asecret end redirect "/" end __END__ @@index -if login? %p Welcome #{profile.first_name}! %a{:href => "/auth/logout"} Logout %p= profile.headline %br %div= "You have #{connections.total} connections!" -connections.all.each do |c| %div= "#{c.first_name} #{c.last_name} - #{c.headline}" -else %a{:href => "/auth"} Login using LinkedIn
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
linkedin-drspin-0.3.6 | examples/sinatra.rb |
brienw-linkedin-0.3.7 | examples/sinatra.rb |