config/initializers/omniauth.rb in wordjelly-auth-1.1.3 vs config/initializers/omniauth.rb in wordjelly-auth-1.1.4

- old
+ new

@@ -80,11 +80,11 @@ ##now the callback call # Performs the steps necessary to run the callback phase of a strategy. def callback_call #check_state setup_phase - log :info, 'Callback phase initiated.' + puts 'Callback phase initiated.' @env['omniauth.origin'] = session.delete('omniauth.origin') @env['omniauth.origin'] = nil if env['omniauth.origin'] == '' @env['omniauth.params'] = session.delete('omniauth.params') || {} ##FOR THE WEB BASED SYSTEM, remember this was set in the request call. @@ -104,39 +104,56 @@ module OmniAuth module Strategies OAuth2.class_eval do def callback_phase # rubocop:disable AbcSize, CyclomaticComplexity, MethodLength, PerceivedComplexity - + puts "came to callback phase." + puts "state is:" + puts "in request params:" + puts request.params["state"] + puts "session omniauth state." + puts session["omniauth.state"] + puts "options provider ignores state is:" + puts option.provider_ignores_state + error = request.params["error_reason"] || request.params["error"] + puts "error : #{error}" if error fail!(error, CallbackError.new(request.params["error"], request.params["error_description"] || request.params["error_reason"], request.params["error_uri"])) elsif !options.provider_ignores_state && (request.params["state"].to_s.empty? || request.params["state"] != session.delete("omniauth.state")) #puts "STATE ISSUES." + puts "state is detected." headers = Hash[*env.select {|k,v| k.start_with? 'HTTP_'} .collect {|k,v| [k.sub(/^HTTP_/, ''), v]} .collect {|k,v| [k.split('_').collect(&:capitalize).join('-'), v]} .sort .flatten] + puts "headers accept is:" + puts headers["Accept"] if headers["Accept"] == "application/json" self.access_token = build_access_token self.access_token = access_token.refresh! if access_token.expired? super else #puts "came to csrf detected." fail!(:csrf_detected, CallbackError.new(:csrf_detected, "CSRF detected")) end else #puts "didnt have any initial state issues." + puts "no state" + puts "going to build access token." self.access_token = build_access_token self.access_token = access_token.refresh! if access_token.expired? super end rescue ::OAuth2::Error, CallbackError => e + puts "invalid creds." fail!(:invalid_credentials, e) rescue ::Timeout::Error, ::Errno::ETIMEDOUT => e + puts "timeout." fail!(:timeout, e) rescue ::SocketError => e + puts "socket error." fail!(:failed_to_connect, e) end protected class CallbackError < StandardError