Skip to content

Commit

Permalink
Added sinatra example
Browse files Browse the repository at this point in the history
  • Loading branch information
amscotti committed Dec 16, 2011
1 parent 0fdd117 commit 48f55fa
Showing 1 changed file with 82 additions and 0 deletions.
82 changes: 82 additions & 0 deletions examples/sinatra.rb
@@ -0,0 +1,82 @@
require "rubygems"
require "haml"
require "sinatra"
require "linkedin"

enable :sessions

helpers do
def login?
if session[:atoken].nil?
return false
else
return true
end
end

def profile
unless session[:atoken].nil?
client = LinkedIn::Client.new(settings.api, settings.secret)
client.authorize_from_access(session[:atoken], session[:asecret])
return client.profile
end
end

def connections
unless session[:atoken].nil?
client = LinkedIn::Client.new(settings.api, settings.secret)
client.authorize_from_access(session[:atoken], session[:asecret])
return client.connections
end
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

0 comments on commit 48f55fa

Please sign in to comment.