# frozen_string_literal: true begin gem "omniauth", ">= 1.0.0" require "omniauth" rescue LoadError warn "Could not load 'omniauth'. Please ensure you have the omniauth gem >= 1.0.0 installed and listed in your Gemfile." raise end # Clean up the default path_prefix. It will be automatically set by Kingsman. OmniAuth.config.path_prefix = nil OmniAuth.config.on_failure = Proc.new do |env| env['kingsman.mapping'] = Kingsman::Mapping.find_by_path!(env['PATH_INFO'], :path) controller_name = ActiveSupport::Inflector.camelize(env['kingsman.mapping'].controllers[:omniauth_callbacks]) controller_klass = ActiveSupport::Inflector.constantize("#{controller_name}Controller") controller_klass.action(:failure).call(env) end