Cómo utilizar OmniAuth correctamente con Rails 2

Estoy tratando de usar una estrategia OmniAuth (0.2.6) para mi aplicación. La architecture es Rails 2.3.10 y Rack es la versión 1.1 (esta versión o superior es necesaria para OmniAuth). Un problema que ocurre es que Rails no reconoce mi redireccionamiento a “/ auth / provider”. El mensaje de error real es “No hay coincidencias de ruta” / auth / casport “. A pesar de que se produce ese error, el código parece ejecutarse más allá de ese punto hasta este error:” request.env [‘omniauth.auth’] “, que Estoy bastante seguro de que significa que no reconoce la clave “omniauth.auth” para el hash env. Tengo la sensación de que OmniAuth no se está cargando correctamente. He probado la misma estrategia y la misma base de códigos con Mongrel y Webrick , y recibo mensajes de error idénticos.

Aquí está mi inicializador de OmniAuth (config / initializers / omniauth.rb):

ActionController::Dispatcher.middleware.use OmniAuth::Builder do provider :casport, :setup => true end 

Definitivamente tengo rutas en lugares para auth / casport / setup y auth / casport / callback.

También he intentado este enfoque: ¿Cómo implementa OmniAuth en Rails 2.2?

 config.middleware.use OmniAuth::Builder do provider :casport, :setup => true end 

colocando ese código de middleware en el archivo config / environment / development.rb.

¿Alguien tiene alguna idea sobre lo que podría estar haciendo incorrectamente? ¡Gracias!

Edit: También he probado este enfoque ¿Alguien ha usado Omniauth con Rails 2.3.8?

 ActionController::Dispatcher.middleware.use OmniAuth::Strategies::Casport = { :setup => true } 

y eso devuelve un error de lectura: “NoMethodError: método no definido ‘nuevo’ para #Hash …

Edición 2: He actualizado a Rails 2.3.10 porque OmniAuth no es compatible con Rails 2.3.4.

Creé un problema en la página Github de OmniAuth https://github.com/intridea/omniauth/issues/397 , con los detalles anteriores y esta es la respuesta de Michael Bleigh, el creador de OmniAuth:

“OmniAuth nunca ha apoyado oficialmente Rails 2.3.x – He escuchado que algunas personas han tenido suerte con eso, pero no es algo garantizado. ¡Lo siento!”

Así que parece que los métodos que publiqué arriba pueden funcionar para algunas personas. Para garantizar el correcto funcionamiento, se necesita Rails 3.