2009-09-16 51 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