sessions rails authenticity ruby-on-rails ruby-on-rails-3

ruby on rails - authenticity - Rails CSRF Tokens-¿Vencen?



session rails 5 (1)

Me he dado cuenta de que si publica con un token CSRF no válido, rails / devise cerrará su sesión automáticamente.

Tengo una aplicación que no actualiza la página y los usuarios se sientan en la página en tiempo real durante mucho tiempo. De vez en cuando el usuario es expulsado. Me pregunto si el token CSRF está caducando, por lo que es inválido.

Es por eso que estoy tratando de aprender, ¿expiran los tokens de Rails CSRF? ¿Hay un ajuste de tiempo en alguna parte?

Gracias


La protección CSRF en Rails funciona almacenando un valor aleatorio como un campo en el formulario que se envía y también en la sesión del usuario. Si los valores no coinciden cuando se envía un formulario, Rails rechaza la solicitud de envío de formulario.

Si está utilizando la tienda de sesión de cookies predeterminada en Rails, las sesiones no caducarán (hasta que la cookie lo haga). Si está utilizando otra cosa (archivo o sesiones respaldadas por DB), entonces sí, si esas sesiones caducan, el envío del formulario fallará con un error CSRF.

Entonces, si está utilizando sesiones basadas en cookies (el valor predeterminado), verifique la caducidad de las cookies. Si eso se ve bien, es probable que sea otro problema.