Skip to content

Instantly share code, notes, and snippets.

@nerdEd
Created April 24, 2010 02:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nerdEd/377398 to your computer and use it in GitHub Desktop.
Save nerdEd/377398 to your computer and use it in GitHub Desktop.
def login
twitter_client = TwitterOAuth::Client.new(:consumer_key => TWITTER_CONSUMER_KEY, :consumer_secret => TWITTER_CONSUMER_SECRET)
if !returning_from_twitter?
request_token = twitter_client.request_token(:oauth_callback => url_for(:login))
session[:request_token] = request_token.token
session[:request_token_secret] = request_token.secret
redirect_to request_token.authorize_url
else
twitter_client.authorize(
session[:request_token],
session[:request_token_secret],
:oauth_verifier => params[:oauth_verifier]
)
session.delete(:request_token)
session.delete(:request_token_secret)
if twitter_client.authorized? && list_members(twitter_client).include?(twitter_client.info['screen_name'])
session[:user] = twitter_client.info
end
redirect_to root_path
end
end
def list_members(twitter_client)
return twitter_client.list_members(LIST_OWNER, LIST_NAME)['users'].map{|info| info['screen_name'].downcase}
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment