views:

484

answers:

2

I have auto registration working with authlogic using gaizka's version of authlogic_openid which I found on Github since pelle's original addition of the feature seemed to cause issues.

http://github.com/gaizka/authlogic%5Fopenid

http://stackoverflow.com/questions/1476953/using-authlogic-to-auto-create-users-bypassing-explicit-user-registeration

This one works fine however when using the auto_register feature it ignores my options for authlogic such as retrieving the email from the openid provider... any ideas what I'm doing wrong?

Hhere's the example:

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

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

You can see the difference if you register vs. login...

#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
+3  A: 

This one works fine however when using the auto_register feature it ignores my options for authlogic such as retrieving the email from the openid provider... any ideas what I'm doing wrong?

The code that handles auto-registration lives in the authlogic_openid's Session module. The code that handles registration (retrieving email form provider, etc), lives in ActsAsAuthentic module.

The first is handling a UserSession object, the latter is handling a User object.

I'll take a look in a couple of days, to see what can be done to merge both behaviours.

gaizka
Could you figure out any way of merging the behaviours?
Shripad K