class OmniAuth::Strategies::Launchpad

Public Class Methods

new(app, consumer_key="babun", options={}, &block) click to toggle source
Calls superclass method
# File lib/omniauth/strategies/launchpad.rb, line 25
def initialize(app, consumer_key="babun", options={}, &block)
  options[:oauth_consumer_key] = consumer_key
  super(app, consumer_key, nil, options, &block)
end

Public Instance Methods

raw_user_info() click to toggle source
# File lib/omniauth/strategies/launchpad.rb, line 30
def raw_user_info
    puts "before: #{@access_token.inspect}"
    request_options = {:oauth_consumer_key => options[:oauth_consumer_key], :realm => "https://api.launchpad.net/"}
    request_options.merge!(options[:authorize_params])
    @access_token.consumer.options[:scheme] = :header
    info = @access_token.get('https://api.launchpad.net/devel/people/+me', {'Accept' => 'application/json'})
    info = @access_token.get(info["location"], {'Accept' => 'application/json'})
    @raw_user_info ||= MultiJson.load info.body
end
request_phase() click to toggle source
# File lib/omniauth/strategies/launchpad.rb, line 53
def request_phase
    request_options = {:oauth_consumer_key => options[:oauth_consumer_key], :realm => "https://api.launchpad.net/"}
    request_options.merge!(options[:authorize_params])
  
    request_token = consumer.get_request_token({:oauth_callback => callback_url}, request_options)
    session['oauth'] ||= {}
    session['oauth'][name.to_s] = {'callback_confirmed' => request_token.callback_confirmed?, 'request_token' => request_token.token, 'request_secret' => request_token.secret}
    r = Rack::Response.new
  
    if request_token.callback_confirmed?
      r.redirect(request_token.authorize_url)
    else
      r.redirect(request_token.authorize_url(:oauth_callback => callback_url))
    end
    @request_token = request_token
    r.finish
  
    rescue ::Timeout::Error => e
      fail!(:timeout, e)
    rescue ::Net::HTTPFatalError, ::OpenSSL::SSL::SSLError => e
      fail!(:service_unavailable, e)
end