Laravel - Cerrar sesión por inactividad

 
Vista:
Imágen de perfil de John
Val: 1
Ha aumentado su posición en 12 puestos en Laravel (en relación al último mes)
Gráfica de Laravel

Cerrar sesión por inactividad

Publicado por John (1 intervención) el 25/05/2020 19:17:56
Hola amigos, ¿Cómo podria hacer para cerrar la sesión de laravel, despues de por ejemplo 5 minutos de inactividad?.

Con php puro lo hacia con utilizando javascript, de la siguiente manera

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Cerrar sesión por inactividad
const inactivityTime = () =>{
 
	let t;
	window.onload = resetTimer;
	// DOM Events
	document.onmousemove = resetTimer;
	document.onkeypress = resetTimer;
 
	const logout = () =>{
		location.href = '../controllers/cerrarSesion.php';
	}
 
	function resetTimer(){
		clearTimeout(t);
		t = setTimeout(logout, 600000) // 10 minutos 600000 milisegundos
	}
 
}

pero con Laravel no funciona. Mas que nada porque para cerrar la sesión de laravel utilizo el objeto Auth::logout y no se como podria activarlo desde el javascript.

Quiza este totalmente errado y no se haga de esta forma, por eso pido de su ayuda por este medio, gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Cerrar sesión por inactividad

Publicado por Duval Alcivar (1 intervención) el 12/01/2021 03:35:15
En el blade puedes ponerlo en el layout general de tu web o donde quieras.
1
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">@csrf</form>

y luego en js solo pondrías
1
document.getElementById('logout-form').submit();


donde esta
1
const logout = () =>{}

quedaría
1
const logout = () =>{ document.getElementById('logout-form').submit(); }

el
1
{{ route('logout') }}
solo si utilizas el make:auth de laravel (esa ruta esta "oculta" las puedes ver con: "php artisan route:list")
si no, ya seria la que declares en el archivo web.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar