Warden: upgrade variant

I am using devise (1.5.3) and warden (1.1.1) and I dont need to update session_id after user login / registration

https://github.com/hassox/warden/blob/master/lib/warden/proxy.rb#L160

  if opts[:store] != false && opts[:event] != :fetch
    options = env[ENV_SESSION_OPTIONS]
    options[:renew] = true if options
    session_serializer.store(user, scope)
  end

      

Dump options:

options {:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :coder=># Rack::Session::Cookie::Base64::Marshal:0x00000004f50a10>, id=> "56d54b1b9820ee044151fdb4fdcb89db"}

      

How do I configure devise / warden not to set [: renew] options to true?

+3


source to share


2 answers


Try the following:



env['rack.session.options'][:renew] = false

      

+2


source


Warden::Manager.after_set_user do |user,auth,opts|
  auth.env["rack.session.options"][:renew] = false
end

      



+1


source







All Articles