Warden: обновить вариант - PullRequest
3 голосов
/ 23 марта 2012

Я использую devise (1.5.3) и warden (1.1.1), и мне не нужно обновлять session_id после входа / регистрации пользователя

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

Опции дампа:

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

Как я могу настроить devise / warden, чтобы не устанавливать опции [: renew] в true?

Ответы [ 2 ]

2 голосов
/ 06 сентября 2012

Попробуйте это:

env['rack.session.options'][:renew] = false
1 голос
/ 03 сентября 2013
Warden::Manager.after_set_user do |user,auth,opts|
  auth.env["rack.session.options"][:renew] = false
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...