Estoy usando Rack para intentar implementar la funcionalidad "Recordarme" en mi aplicación Sinatra.Establecer la caducidad de la cookie de la sesión de Rack programáticamente
Puedo configurar la cookie de sesión para que caduque cuando finaliza la sesión o en X segundos, pero me gustaría hacer ambas cosas.
Por ejemplo, si un usuario ha hecho clic en "recordarme", entonces deseo que su sesión termine después de X segundos. Por ejemplo, mi app.rb tiene una línea que tiene este aspecto:
use Rack::Session::Cookie, :expire_after => 2592000, #30 days in seconds
:secret => MY_SECRET
Yo he tratado de hacer lo siguiente cuando el usuario inicia sesión en:
if (!remember_me)
env['rack.session.options'][:expire_after] = nil
end
Sin embargo, este no establece la cookie valor.
¿Alguien sabe cómo configurar esto?
Gracias de antemano.
No olvide que si posteriormente configura/elimina algo en el hash de la sesión, la cookie volverá a la fecha de caducidad predeterminada (es decir, una cookie de sesión). Para que persista a través de los cambios posteriores, deberá almacenar un indicador que marque el estado "Recordarme" también dentro del hash de la sesión. –