Я испытываю затруднения при получении аутентификации OpenId, работающей с Authlogic. Кажется, что проблема возникла с изменениями в open_id_authentication плагине. Из того, что я читал до сих пор, нужно переключиться от использования драгоценных камней к использованию плагинов.
Вот что я сделан к настоящему времени для получения работы интеграции Authlogic-OpenID:
Mogrel не удалось запуститься, возвратив следующую ошибку:
/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
Я подозреваю, что это связано драгоценный камень стойки-openid, но поскольку это зависело от рубинового-openid драгоценного камня, это было удалено, когда рубиновый-openid драгоценный камень был удален. Возможно, это может быть установлено как плагин.
Любая помощь с этим вопросом значительно ценится - я как раз собираюсь разочароваться в интеграции OpenId.
* рубин-openid (2.1.2) установлен в/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8. Я не уверен, влияет ли это на что-нибудь. В любом случае я не уверен, как удалить его или если я должен.
** редактирование **
Кажется, что существует много драгоценных камней в/Library/Ruby/Gems/1.8/gems каталоге, который может вызывать проблему:
Вопросы: - почему драгоценный камень не перечисляет список команд эти драгоценные камни? - Почему драгоценный камень не удаляет команду, удаляют эти драгоценные камни?
Не знаю, как все работает в OSX, но в Linux, если я устанавливаю драгоценные камни как обычный пользователь, они помещаются в мой домашний каталог, а если я устанавливаю их с помощью sudo
они попадают в системный каталог.
У меня также были проблемы с разрешениями для драгоценных камней, и мне пришлось явно установить GEM_PATH
в моей оболочке, чтобы рубин мог загружать драгоценные камни из определенного места.
sudo gem list
? / System / Library / Frameworks / Ruby. framework / Versions / 1.8 / usr / lib / ruby / gems / 1.8
? Edit :
Хорошо, я бы запустил сеанс irb
и посмотрел, что произойдет когда вы явно требуете
драгоценных камней.
$ irb
> require 'authlogic'
> require 'authlogic-oid'
...
Изменить:
Если гем authlogic-oid
установлен и появляется при запуске sudo gem list
, попробуйте запустить irb
как суперпользователь. Если вы затем можете потребовать authlogic-oid
, у вас есть проблема с правами доступа: некоторые или все файлы гемов имеют root-доступ только для чтения.
Если это не сработает, вероятно, у вас проблема с путём загрузки - Ruby не знает, где искать ваши установленные драгоценные камни. В этом случае ваш гем authlogic
, вероятно, установлен в другом месте, чем ваш гем authlogic-oid
.
У меня сейчас та же проблема, но исправлена только установка гема Rack-openid. Я попрошу их добавить rack-openid в необходимые библиотеки в документации
Я прошел через те же неприятности, что и вы. Может быть, вам стоит просто проверить это, у вас все работает:
http://github.com/shripadk/authlogic_openid_selector_example
Это включает в себя поток стека, такой как авторегистрация openid. Я разместил пример приложения на heroku, чтобы вы могли опробовать его перед оформлением заказа, если хотите.