我正在尝试在我的网站上启用openid身份验证,以及使用最新的authlogic_openid插件的auto_register
功能。
一切正常,直到第二次登录。第一次创建并登录用户,但在我注销并尝试使用相同的OpenID标识登录系统后,我收到用户注册表单,其中包含错误消息,表示已经使用了用户名和其他字段,并且表单预填充了早期的值数据通过openid传递。
除了具有新auto_register调用的用户会话模型之外,所有内容都由authlogic / authlogic openid教程实现:
class UserSession < Authlogic::Session::Base
auto_register
end
非常感谢任何帮助!
答案 0 :(得分:1)
好像你正在两次注册用户。如果auto_register
为真,则OpenID插件不知道用户是否已经注册,它每次都是SREG。而不是每当您通过openid_identifier查找用户时调用auto_register
,如果他们是新用户,则发送auto_register(true)
。
答案 1 :(得分:0)
我找到了http://github.com/gaizka/authlogic_openid
他的Authlogic Open ID扩展版本似乎与auto_register功能一起使用...虽然我无法从SREG正确捕获电子邮件(使用常规注册)。
有一个在这里工作的演示:
http://big-glow-mama.heroku.com/
http://github.com/holden/authlogic_openid_selector_example/tree/with-facebook/