I am using the open_id_authentication plugin for login purpose. I am able to integrate the plugin correctly and it works well. I would like to retrieve additional values like the nickname and email of the user, which I am not able to retrieve. I am using the following code but the registration fields are empty . Am I doing something correctly here?. Can you please help me?
def authenticate_with_open_id(identity_url,
:required => [ :nickname, :email ],
:optional => :fullname) do |result, identity_url, registration|
case result.status
when :missing
failed_login "Sorry, the OpenID server couldn't be found"
when :invalid
failed_login "Sorry, but this does not appear to be a valid OpenID"
when :canceled
failed_login "OpenID verification was canceled"
when :failed
failed_login "Sorry, the OpenID verification failed"
when :successful
if @current_user = User.find_by_openid_identifier(identity_url)
assign_registration_attributes!(registration)
if @current_user.save
successful_login
else
failed_login "Your OpenID profile registration failed: " +
@current_user.errors.full_messages.to_sentence
end
else
@current_user = User.new
#@current_user.email = registration[:email]
logger.info(registration)
if registration.empty?
logger.info("reg empty")
else
logger.info("reg not empty")
end
#assign_registration_attributes!(registration)
#failed_login(@current_user)
end
end
end
Thanks