2009-11-17 2 views
4

У меня есть авторегистрация, работающая с authlogic с использованием версии authlogic_openid gaizka, которую я нашел в Github, поскольку оригинальное добавление этой функции, похоже, вызывало проблемы.authlogic auto_register функция с использованием моих опций

http://github.com/gaizka/authlogic_openid

using authlogic to auto create users bypassing explicit user registeration

Это одна отлично однако работает при использовании функции auto_register она игнорирует мои варианты authlogic, такие как получение электронной почты от поставщика OpenId ... любые идеи, что я делаю неправильно ?

Hhere в пример:

http://big-glow-mama.heroku.com/

http://github.com/holden/authlogic_openid_selector_example/tree/with-facebook/

Вы можете увидеть разницу, если вы регистрируете против Войти ...

#user.rb 
class User < ActiveRecord::Base 
    acts_as_authentic do |c| 
    c.validate_login_field = false 
    # optional, but if a user registers by openid, he should at least share his email-address with the app 
    c.validate_email_field = false 
    # fetch email by ax 
    c.openid_required_fields = [:email,"http://axschema.org/contact/email"] 
    #c.required_fields = ["http://axschema.org/contact/email"] 
    # fetch email by sreg 
    #c.optional_fields = ["email"] 
    end 

    #private method to deal with emails goes here 

end 


#UserSession.rb 
class UserSession < Authlogic::Session::Base 
    auto_register 
    logout_on_timeout true 
end 

ответ

4

Это один работает отлично, однако при использовании функции auto_register игнорирует мои параметры для authlogic, такие как s получить электронную почту от провайдера openid ... любые идеи, что я делаю неправильно?

Код, который обрабатывает автоматическую регистрацию, находится в модуле Session authlogic_openid. Код, который обрабатывает регистрацию (получение поставщика электронной почты и т. Д.), Находится в модуле ActsAsAuthentic.

Первый обрабатывает объект UserSession, последний обрабатывает объект User.

Я посмотрю через пару дней, чтобы посмотреть, что можно сделать, чтобы объединить оба поведения.

+1

Не могли бы вы выяснить, какой-либо способ слияния поведения? –

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

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