Devise omniauthable interrompe a autenticação Omniauth com `Não foi possível encontrar um mapeamento válido para o caminho`

No meu projeto, tenho dois tipos de usuários: candidatos a emprego e gerentes de contratação. Os candidatos a emprego não têm um modelo, apenas podem se candidatar a empregos usando os dados recebidos de fornecedores terceirizados enquanto se autenticam no Omniauth. As informações dos gerentes de contratação são armazenadas no modelo de usuário ideal. Os gerentes de contratação também devem poder fazer login com a conta de e-mail do Google da empresa. Então, primeiro criei a autenticação dos candidatos a emprego usando o Omniauth 1.0.0, Rails 3.1.3:

omniauth.rb

require 'omniauth-openid'
require 'openid/store/filesystem'
Rails.application.config.middleware.use OmniAuth::Builder do
   provider :openid, :store => OpenID::Store::Filesystem.new('./tmp'), :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id'
   provider :facebook, "xxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  {:scope => 'email, offline_access, publish_stream', :client_options => {:ssl => {:ca_file => '/usr/lib/ssl/certs/ca-certificates.crt'}}}
   provider :twitter, "xxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
   provider :linkedin, "xxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxx"
 end

dentroroutes.rb:

match '/auth/:provider/callback', :to => 'sessions#authenticate_jobseeker'
match '/auth/failure', :to => 'sessions#failure'

dentrosessions_controller.rb

def authenticate_jobseeker
  session[:jobseeker] = request.env['omniauth.auth']

  if valid_job_seeker?
    redirect_to new_job_application_path(...)
  else
    redirect_to request.env['omniauth.origin'] || root_path, alert: "Authentication failure"
  end
end

Até este ponto, tudo funcionou bem. No entanto, quando comecei a implementar o logon do Google para o modelo de usuário e adicionei: omniauthable, minha autenticação de candidato a emprego foi interrompida. Estou usando o Devise 1.5.2:

user.rb

class User < ActiveRecord::Base
  #...
  devise :database_authenticatable, :registerable,
         ... :lockable, :omniauthable
  #...
end

dentrodevise.rb:

config.omniauth :open_id, :store => OpenID::Store::Filesystem.new('./tmp'), :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id', :require => 'omniauth-openid'

dentroroutes.rb:

devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } do
  get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
end

Nesse momento, a autenticação dos usuários funcionava, mas os que procuravam emprego não. Depois de pesquisar um pouco, o problema foi corrigido adicionando:path_prefix => "/auth" para todos os provedores emomniauth.rb. O único problema agora é que, quando o candidato a emprego não permite o acesso a seus dados (ou seja, pressiona "Não Permitir" e volta ao aplicativo), recebo o RuntimeError para todos os provedores:

Could not find a valid mapping for path "/auth/twitter/callback" 
Parameters:
{"denied"=>"mKjVfMRwRAN12ZxQ9cxCoD4rYSLJIRLnEqgiI"}

top do rastreamento:

devise (1.5.2) lib/devise/mapping.rb:48:in `find_by_path!'
devise (1.5.2) lib/devise/omniauth.rb:17:in `block in <top (required)>'
omniauth (1.0.0) lib/omniauth/strategy.rb:418:in `call'
omniauth (1.0.0) lib/omniauth/strategy.rb:418:in `fail!'
omniauth-oauth (1.0.0) lib/omniauth/strategies/oauth.rb:63:in `rescue in callback_phase'
omniauth-oauth (1.0.0) lib/omniauth/strategies/oauth.rb:45:in `callback_phase'
omniauth (1.0.0) lib/omniauth/strategy.rb:200:in `callback_call'
omniauth (1.0.0) lib/omniauth/strategy.rb:166:in `call!'
omniauth (1.0.0) lib/omniauth/strategy.rb:148:in `call'
omniauth (1.0.0) lib/omniauth/strategy.rb:168:in `call!'
omniauth (1.0.0) lib/omniauth/strategy.rb:148:in `call'
omniauth (1.0.0) lib/omniauth/strategy.rb:168:in `call!'
omniauth (1.0.0) lib/omniauth/strategy.rb:148:in `call'
omniauth (1.0.0) lib/omniauth/builder.rb:30:in `call'

Estou tentando resolver isso há um tempo agora. Qualquer ajuda é muito apreciada. Avise-me se eu puder fornecer informações adicionais.

questionAnswers(2)

yourAnswerToTheQuestion