Carlos Cifuentes
Migración de librerías AngularJS · cierre por inactividad

Migrar ng-idle a Angular moderno

ng-idle detectaba la inactividad del usuario, mostraba una cuenta regresiva de aviso y disparaba un evento de timeout, con un ping keepalive opcional al servidor. La versión para AngularJS está atada a AngularJS.

Qué la reemplaza

OpciónCuándo elegirla
Your own idle serviceUnos pocos operadores de RxJS sobre los eventos de actividad del usuario, un temporizador y un diálogo de aviso; sin dependencias.
@ng-idle/coreEl mismo autor y los mismos conceptos (Idle, Keepalive) para Angular; revisa que su última versión soporte tu versión de Angular.

Cómo migrarla

  1. Anota las reglas actuales: tiempo de inactividad, tiempo de aviso, qué eventos cuentan como actividad y la URL de keepalive.
  2. Implementa el servicio de inactividad en Angular y hazle downgrade, para que haya un solo temporizador para ambos frameworks.
  3. Conecta el timeout con el logout del AuthService compartido y elimina ng-idle de la app legacy.

Cuidado con. Prueba con varias pestañas abiertas. Una pestaña inactiva no debe cerrar la sesión de un usuario que está activo en otra; comparte la hora de la última actividad con localStorage o BroadcastChannel.

Otras librerías

¿Planeas una migración o una plataforma de microfrontends?

En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.

Escríbeme por LinkedIn