2009-09-16 2 views
3

Я пытаюсь включить аутентификацию openid на своем веб-сайте, а также использовать функцию auto_register, содержащую последнее дополнение authlogic_openid.Функция authlogic openid auto_register пытается дублировать регистрацию

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

Все осуществляется authlogic/authlogic OpenId учебник для модели пользовательской сессии с новым auto_register вызова, кроме:

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

Любая помощь очень ценится!

ответ

1

Кажется, что вы регистрируете пользователей дважды. Плагин OpenID не знает, зарегистрирован ли пользователь, он просто делает SREG каждый раз, если auto_register истинно. Вместо того, чтобы звонить auto_register каждый раз, когда вы можете искать пользователя по openid_identifier и отправлять auto_register(true), если они являются новым пользователем.

+0

я определенно попробовать этот подход! – Eimantas

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/

 Смежные вопросы

  • Нет связанных вопросов^_^