Class: OmniAuth::Strategies::Etrade

Inherits:
OAuth
  • Object
show all
Defined in:
lib/omniauth/strategies/etrade.rb

Instance Method Summary collapse

Instance Method Details

#callback_phaseObject



43
44
45
# File 'lib/omniauth/strategies/etrade.rb', line 43

def callback_phase
  super
end

#callback_urlObject



17
18
19
# File 'lib/omniauth/strategies/etrade.rb', line 17

def callback_url
  'oob'
end

#request_phaseObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/omniauth/strategies/etrade.rb', line 21

def request_phase
  begin
    request_token = consumer.get_request_token({:oauth_callback => callback_url}, options.request_params)
    session['oauth'] ||= {}
    session['oauth'][name.to_s] = {'callback_confirmed' => request_token.callback_confirmed?,
      'request_token' => request_token.token, 'request_secret' => request_token.secret}

    Rails.logger.debug { "#{request_token.to_yaml}" }

    if request_token.callback_confirmed?
      redirect request_token.authorize_url({key: options.consumer_key}.merge(options[:authorize_params])).sub! 'oauth_token', 'token'
    else
      redirect request_token.authorize_url(
        options[:authorize_params].merge(oauth_callback: callback_url, key: options.consumer_key)).sub! 'oauth_token', 'token'
    end
  rescue ::Timeout::Error => e
    fail!(:timeout, e)
  rescue ::Net::HTTPFatalError, ::OpenSSL::SSL::SSLError => e
    fail!(:service_unavailable, e)
  end
end