open_id_authentication - «OpenIdAuthentication.store - ноль. Использование хранилища в памяти». проблема - PullRequest
1 голос
/ 21 апреля 2010

Я пытаюсь заставить работать плагин open_id_authentication .
Первоначально делали это с authlogic, но забросили, потому что чувствуется, что помощь гораздо сложнее.

Проблема в том, что в журнале появляется предупреждение OpenIdAuthentication.store is nil. Using in-memory store., которое не позволяет правильно аутентифицировать пользователей.

Вот фрагмент журнала:

Processing UserSessionsController#create (for 127.0.0.1 at 2010-04-21 23:58:38) [POST]
  Parameters: {"commit"=>"Sign in", "authenticity_token"=>"MSPc+VMgsQZ/w7vsb2OiE0azsF1QmphZqfnS6cPRD/U=", "openid_identifier"=>"http://myopenid.com"}
Completed in 12ms (View: 1, DB: 0) | 401 Unauthorized [http://localhost/user_session]
Generated checkid_setup request to http://www.myopenid.com/server with assocication {HMAC-SHA1}{4bcf0490}{MN9AXg==}
OpenIdAuthentication.store is nil. Using in-memory store.
Error attempting to use stored discovery information: OpenID::TypeURIMismatch
Attempting discovery to verify endpoint
Performing discovery on http://xxx.myopenid.com/
Using 'check_authentication' with http://www.myopenid.com/server

Я не совсем уверен, что мне нужно сделать, чтобы решить эту проблему. Вероятно, установка хранилища в базу данных (и у меня есть миграция OpenID). Также не уверен, действительно ли мне нужна база данных для выполнения аутентификации OpenID.

Исходный проект (ветвь) - здесь , так что вы можете взглянуть поближе.

Буду признателен за хорошие советы по этому вопросу.

Спасибо
Дмитрий.

1 Ответ

3 голосов
/ 21 апреля 2010

У меня были похожие проблемы с последним плагином open_id и хранилищем памяти.Некоторые сайты OpenID будут работать, но большинство не будет.Что-то в MemoryStore не работает для аутентификации.Переключение на использование хранилища файлов для меня работало нормально.

Я создал инициализатор с именем config/initializers/openid.rb, который внутри:

OpenIdAuthentication.store = :file

Перезапустил приложение, и все URL-адреса openId, которые я пытался начать работать.

Почему хранилище файлов работает, а хранилище памяти - нет, я не могу ответить.Я просто знаю, что это исправило это для меня.

...