2009-09-16 44 views
3

我想在我的网站上启用openid身份验证以及使用最新的authlogic_openid附加组件的auto_register功能。authlogic openid auto_register功能试图重复注册

一切正常,直到第二次登录。第一次创建并登录用户,但在注销并尝试使用相同的OpenID标识符登录系统后,我得到了用户注册表单,错误信息表明用户名和其他字段已被占用,并且表单已预先填充了较早的值数据通过openid传递。

一切都是由authlogic/authlogic OpenID的教程来实现,除了与新auto_register呼叫的用户会话模型:

class UserSession < Authlogic::Session::Base 
    auto_register 
end 

任何帮助,非常感谢!

回答

1

这似乎是你注册用户两次。 OpenID插件不知道用户是否已注册,只要auto_register为真,每次都会执行SREG。每次您可以通过openid_identifier查找用户,并且如果他们是新用户,则发送auto_register(true),而不是每次打电话给auto_register

+0

我肯定会尝试这个方法! – Eimantas 2009-10-18 06:23:30