Parece que há um problema na gem Omniauth que está causando esse problema. Por que é apenas um problema quando eu uso CloudFlare, e não um problema quando está desligado, me bate.
De qualquer forma, aqui está o problema no github:
Minha solução:
No aplicativo rails, crie um novo inicializador ( config/initializers/omniauth_fix.rb
) com este conteúdo:
if Rails.env.production?
module OmniAuth
module Strategy
def full_host
uri = URI.parse(request.url)
uri.path = ''
uri.query = nil
uri.port = (uri.scheme == 'https' ? 443 : 80)
uri.to_s
end
end
end
end
É essencialmente uma armadilha sobre o assunto. Espero que isso seja corrigido em versões futuras do omniauth.