open_id_authentication – “OpenIdAuthentication.store为零。 使用内存存储。“问题

我正在尝试使open_id_authentication插件正常工作。
最初是用authlogic做的但是放弃了,因为感觉更麻烦的是帮助。

问题是我得到OpenIdAuthentication.store is nil. Using in-memory store. OpenIdAuthentication.store is nil. Using in-memory store. 日志中的警告,阻止正确地validation用户。

这是日志片段:

 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身份validation。

原始项目(分支)在这里,所以你可以仔细看看。

会对此表示赞赏。

谢谢,
德米特里。

我遇到了与最新的open_id插件和内存存储器类似的问题。 一些OpenID站点可以工作,但大多数不会。 MemoryStore中的某些东西打破了如何进行身份validation。 切换到使用文件存储对我来说很好。

我在里面创建了一个名为config/initializers/openid.rb

 OpenIdAuthentication.store = :file 

重新启动了应用程序,我尝试的每个openId URL都开始工作了。

为什么文件存储工作时内存存储没有,我无法回答。 我只知道这对我来说是固定的。