Интеграция Authlogic OpenID

Я испытываю затруднения при получении аутентификации OpenId, работающей с Authlogic. Кажется, что проблема возникла с изменениями в open_id_authentication плагине. Из того, что я читал до сих пор, нужно переключиться от использования драгоценных камней к использованию плагинов.

Вот что я сделан к настоящему времени для получения работы интеграции Authlogic-OpenID:

  1. Удаленные соответствующие драгоценные камни:
    • authlogic
    • authlogic-oid
    • стойка-openid
    • рубин-openid *
    • Установленный, настроенный, и запустил authlogic приложение приложения (http://github.com/binarylogic/authlogic_example) - работы как ожидалось. Это потребовало:
    • установка authlogic (2.1.3) драгоценный камень ($ sudo установка драгоценного камня authlogic)
    • добавление зависимости (config.gem "authlogic") в environment.rb файл.
    • добавленная миграция для добавления открытого идентификатора поддерживает к модели User; выполнил миграцию; столбцы добавляются как ожидалось
    • внесенные изменения в UsersController и UserSessionsController для использования блоков для сохранения каждого.
    • внесенные изменения в новые сеансы пользователя просматривают для поддержки открытого идентификатора (f.text_field: openid_identifier)
    • установленный open_id_authentication плагин (установка сценария/плагина $ git://github.com/rails/open_id_authentication.git)
    • установленный плагин authlogic-oid (установка сценария/плагина $ git://github.com/binarylogic/authlogic_openid.git)
    • установленный плагин (установка сценария/плагина $ git://github.com/glebm/ruby-openid.git)
    • перезапущенная полукровка (CTRL-C; сценарий/сервер $)

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 каталоге, который может вызывать проблему:

  • authlogic-oid (1.0.4)
  • стойка-openid (1.0.3)
  • рубин-openid (2.1.7)

Вопросы: - почему драгоценный камень не перечисляет список команд эти драгоценные камни? - Почему драгоценный камень не удаляет команду, удаляют эти драгоценные камни?

9
задан craig 19 May 2010 в 16:27
поделиться

3 ответа

Не знаю, как все работает в 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 .

0
ответ дан 4 December 2019 в 23:38
поделиться

У меня сейчас та же проблема, но исправлена ​​только установка гема Rack-openid. Я попрошу их добавить rack-openid в необходимые библиотеки в документации

3
ответ дан 4 December 2019 в 23:38
поделиться

Я прошел через те же неприятности, что и вы. Может быть, вам стоит просто проверить это, у вас все работает:

http://github.com/shripadk/authlogic_openid_selector_example

Это включает в себя поток стека, такой как авторегистрация openid. Я разместил пример приложения на heroku, чтобы вы могли опробовать его перед оформлением заказа, если хотите.

3
ответ дан 4 December 2019 в 23:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: