CoolAJ86
2010-Jan-26 19:11 UTC
Why does UserSession.find return nil when using user_credentials = single_access_token?
I believe that I''ve set up everything such that single_access_token
should be sufficient to pull a user''s session.
The scenario is:
Bob uses Firefox and creates an account on LoginUI (http://
www.coolaj86.info/loginui).
Instead of using cookies, Bob''s single_access_token comes in the
response to the request.
LoginUI submits Bob''s single_access_token with every request
(essentially using it as though it were the persistence token).
Bob clicks ''account settings'' and changes his password, but
the
request fails.
The request fails because the record is not found (presumably it''s
trying to find Bob by the persistence token rather than the single
access token.
I''ve been very thorough in looking through the documentation, but I
must be missing something. What is it that I''m neglecting?
class UsersController < ApplicationController
def update
# params[:user_credentials].inspect shows the correct
''xxxSingle_Access_Tokenxxx''
user_hash = RegisteredUserSession.find.record
user = RegisteredUser.find(user_hash)
user.update(params[:user])
user.save
respond_to do |format|
format.json { head :ok }
end
end
private
def single_access_allowed?
true
end
end
class UserSession < Authlogic::Session::Base
allow_http_basic_auth = true
params_key = ''user_credentials''
single_access_allowed_request_types = :all
end
class RegisteredUserSession < UserSession
end
class User < ActiveRecord::Base
set_table_name "users"
attr_accessible :display_name, :email, :password
acts_as_authentic do |c|
c.require_password_confirmation = false
end
class << self
def public_hash(obj)
{
:display_name => obj.display_name,
:email => obj.email,
:single_access_token => obj.single_access_token,
:errors => obj.errors
}
end
end
end
class RegisteredUser < User
attr_accessible :display_name, :email, :password
validates_presence_of :display_name
validates_length_of :password, :within=>6..254
acts_as_authentic do |c|
c.require_password_confirmation = false
c.change_single_access_token_with_password = true
c.email_field = ''email''
end
end
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.
CoolAJ86
2010-Jan-26 19:13 UTC
Re: Why does UserSession.find return nil when using user_credentials = single_access_token?
apologies, I meant to send this to the authlogic list -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.