функция authlogic auto_register с использованием моих настроек - PullRequest
4 голосов
/ 17 ноября 2009

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

http://github.com/gaizka/authlogic_openid

с использованием authlogic для автоматического создания пользователей в обход явной регистрации пользователей

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

Вот пример:

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

Ответы [ 2 ]

4 голосов
/ 20 ноября 2009

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

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

Первый - объект UserSession, второй - объект User.

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

0 голосов
/ 22 мая 2010

Решено! Благодаря этой фиксации:

http://github.com/mreinsch/authlogic_openid/commit/4a1f644be36aec75ae2d35121904b5a846354233

от mreinsch.

Проверьте пример приложения здесь: http://github.com/shripadk/authlogic_openid_selector_example

Пример из жизни: http://testingauth.heroku.com/

...