Sha256: d0d6ad6e3110290ba90a2c13e4a32e74723ab88c00475c2c7d0b9ec74dda8a8c
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
require 'omniauth-oauth' require 'multi_json' module OmniAuth module Strategies class Twitter < OmniAuth::Strategies::OAuth option :name, 'twitter' option :client_options, {:authorize_path => '/oauth/authenticate', :site => 'https://api.twitter.com'} uid { access_token.params[:user_id] } info do { :nickname => raw_info['screen_name'], :name => raw_info['name'], :location => raw_info['location'], :image => raw_info['profile_image_url'], :description => raw_info['description'], :urls => { 'Website' => raw_info['url'], 'Twitter' => 'http://twitter.com/' + raw_info['screen_name'], } } end extra do { :raw_info => raw_info } end def raw_info @raw_info ||= MultiJson.decode(access_token.get('/1/account/verify_credentials.json').body) rescue ::Errno::ETIMEDOUT raise ::Timeout::Error end alias :old_request_phase :request_phase def request_phase screen_name = session['omniauth.params']['screen_name'] if screen_name && !screen_name.empty? options[:authorize_params] ||= {} options[:authorize_params].merge!(:force_login => 'true', :screen_name => screen_name) end old_request_phase end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
omniauth-twitter-0.0.9 | lib/omniauth/strategies/twitter.rb |
omniauth-twitter-0.0.8 | lib/omniauth/strategies/twitter.rb |