Class: OmniAuth::Strategies::NaranyaId
- Inherits:
-
OAuth
- Object
- OAuth
- OmniAuth::Strategies::NaranyaId
- Defined in:
- lib/omniauth/strategies/naranya_id.rb
Instance Method Summary collapse
-
#configure_sdk! ⇒ Object
Configures the SDK’s key + secret using the strategy’s configured key and secret.
-
#consumer ⇒ Object
Override para habilitar/deshabilitar el output de debuggeo de HTTP:.
-
#consumer_key_and_secret_present? ⇒ Boolean
Indicates whether the consumer key and secret where configured in the strategy initializer.
-
#raw_info ⇒ Object
Provee la informacion consultada del usuario vía el API de Naranya ID ().
-
#request_phase ⇒ Object
Override de método ‘request_phase` para enviar el parámetro de lang/locale:.
-
#sdk_key_or_secret_missing? ⇒ Boolean
Indicates if the SDK’s api key + secret are missing.
Instance Method Details
#configure_sdk! ⇒ Object
Configures the SDK’s key + secret using the strategy’s configured key and secret
94 95 96 97 98 99 100 |
# File 'lib/omniauth/strategies/naranya_id.rb', line 94 def configure_sdk! ::NaranyaId.configure do |config| %w(consumer_key consumer_secret debug_oauth).each do |method| config.send "#{method}=".to_sym, .send(method.to_sym) end end end |
#consumer ⇒ Object
Override para habilitar/deshabilitar el output de debuggeo de HTTP:
17 18 19 20 21 22 23 24 25 |
# File 'lib/omniauth/strategies/naranya_id.rb', line 17 def consumer consumer = ::OAuth::Consumer.new(.consumer_key, .consumer_secret, .) consumer.http.open_timeout = .open_timeout if .open_timeout consumer.http.read_timeout = .read_timeout if .read_timeout # Se habilita el output sólo si en las opciones debug_oauth es true: consumer.http.set_debug_output($stderr) if .debug_oauth consumer end |
#consumer_key_and_secret_present? ⇒ Boolean
Indicates whether the consumer key and secret where configured in the strategy initializer
89 90 91 |
# File 'lib/omniauth/strategies/naranya_id.rb', line 89 def consumer_key_and_secret_present? .consumer_key && .consumer_secret end |
#raw_info ⇒ Object
Provee la informacion consultada del usuario vía el API de Naranya ID ()
70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/omniauth/strategies/naranya_id.rb', line 70 def raw_info @raw_info ||= begin configure_sdk! if sdk_key_or_secret_missing? and consumer_key_and_secret_present? u = ::NaranyaId::User.find_one( token: access_token.params[:oauth_token], secret: access_token.params[:oauth_token_secret] ) u.attributes.with_indifferent_access rescue ::Errno::ETIMEDOUT raise ::Timeout::Error end end |
#request_phase ⇒ Object
Override de método ‘request_phase` para enviar el parámetro de lang/locale:
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/omniauth/strategies/naranya_id.rb', line 28 def request_phase request_token = consumer.get_request_token({:oauth_callback => callback_url}, .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} # Setup de parametros de lang/locale: = [:authorize_params].merge locale_params if request_token.callback_confirmed? redirect request_token. else redirect request_token.(.merge(:oauth_callback => callback_url)) end rescue ::Timeout::Error => e fail!(:timeout, e) rescue ::Net::HTTPFatalError, ::OpenSSL::SSL::SSLError => e fail!(:service_unavailable, e) end |