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ón | Cuándo elegirla |
|---|---|
| Your own idle service | Unos pocos operadores de RxJS sobre los eventos de actividad del usuario, un temporizador y un diálogo de aviso; sin dependencias. |
| @ng-idle/core | El 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
- Anota las reglas actuales: tiempo de inactividad, tiempo de aviso, qué eventos cuentan como actividad y la URL de keepalive.
- Implementa el servicio de inactividad en Angular y hazle downgrade, para que haya un solo temporizador para ambos frameworks.
- 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