Tengo dificultades para obtener la autenticación OpenId trabajando con Authlogic. Parece que el problema surgió con los cambios en el complemento open_id_authentication. Por lo que he leído hasta ahora, uno necesita cambiar de usar gemas a usar complementos.Integración Authlogic OpenID
Esto es lo que he hecho hasta ahora para conseguir la integración Authlogic-OpenID de trabajo:
- eliminados gemas relevantes:
- authlogic
- authlogic-OID
- rack openid
- rubí -openid *
- Instalado, configurado e iniciado la muestra authlogic aplicación (http://github.com/binarylogic/authlogic_example)--works como se esperaba) Esto requiere:
- instalar el authlogic (2.1.3) gema ($ sudo gem install authlogic)
- la adición de una dependencia (config.gem "authlogic") en el fichero de environment.rb.
- migración agregada para agregar soporte de identificación abierta al modelo de usuario; ejecutó migración; columnas agregadas como se esperaba
- realizaron cambios en UsersController y UserSessionsController para usar bloques para guardar cada uno.
- realizado cambios en los nuevos usuarios-vista de sesiones de identificación de la ayuda abierta (f.text_field: openid_identifier)
- instalado open_id_authentication plug-in ($ script/plugin de instalar git: //github.com/rails/open_id_authentication.git)
- instaló el complemento authlogic-oid ($ script/plugin install git: //github.com/binarylogic/authlogic_openid.git)
- instaló el complemento ($ script/plugin install git: //github.com/glebm/ruby -openid.git)
- reiniciado mongrel (CTRL-C; $ script/server)
Mogrel no se pudo iniciar, devolver el siguiente error:
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- rack/openid (MissingSourceFile)
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/plugins/open_id_authentication/lib/open_id_authentication.rb:3
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/plugins/open_id_authentication/init.rb:5:in `evaluate_init_rb'
from ./script/../config/../vendor/rails/railties/lib/rails/plugin.rb:146:in `evaluate_init_rb'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
from ./script/../config/../vendor/rails/railties/lib/rails/plugin.rb:142:in `evaluate_init_rb'
from ./script/../config/../vendor/rails/railties/lib/rails/plugin.rb:48:in `load'
from ./script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:38:in `load_plugins'
from ./script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:37:in `each'
from ./script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:37:in `load_plugins'
from ./script/../config/../vendor/rails/railties/lib/initializer.rb:348:in `load_plugins'
from ./script/../config/../vendor/rails/railties/lib/initializer.rb:163:in `process'
from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
from /Users/craibuc/NetBeansProjects/authlogic_example/config/environment.rb:13
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /Users/craibuc/NetBeansProjects/authlogic_example/vendor/rails/railties/lib/commands/server.rb:84
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from script/server:3
Sospecho que esto está relacionado con la gema rack openid, pero como era dependiente de la gema de rubíes-openid, se retiró cuando el la gema ruby-openid fue removida. Quizás esto se puede instalar como un complemento.
Cualquier ayuda con este asunto es muy apreciada: estoy a punto de abandonar la integración con OpenId.
* ruby-openid (2.1.2) está instalado en /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8. No estoy seguro si esto está afectando algo. En cualquier caso, no estoy seguro de cómo desinstalarlo o si debería.
** editar **
Parece que hay una serie de gemas en el directorio /Library/Ruby/Gems/1.8/gems que pueden estar causando un problema:
- authlogic- oid (1.0.4)
- rack-openid (1.0.3)
- rubí openid (2.1.7)
Preguntas: - ¿por qué no la lista de comandos lista joya estas joyas? - ¿Por qué el comando gem uninstall no elimina estas gemas?
sudo gema lista no enumera estas gemas. Tengo gemas instaladas en tres ubicaciones: /Library/Ruby/Gems/1.8/gems, /craibuc/.gem/ruby/1.8/gems, y /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr /lib/ruby/gems/1.8/gems. – craig
¿Desinstalar una gema es tan fácil como eliminar el directorio de la gema? – craig
Sí, a menos que también se instalen ejecutables en otros lugares (como es el caso de 'rails' y' haml' por ejemplo) – nfm