idle-session-timeout
Idle session timeout is a security and resource management feature that automatically logs a user out after a period of inactivity.
Installation
npm i idle-session-timeout
Example
import { IdleSessionTimeout } from "idle-session-timeout"; //time out in 5 min on inactivitylet session = new IdleSessionTimeout(5 * 60 * 1000); session.onTimeOut = () => {// here you can call your server to log out the user console.log("timeOut");}; //optionalsession.onTimeLeftChange = (timeLeft) => { // this will notify you each second about the time left before the timeout console.log(`${timeLeft} ms left`);}; session.start(); // can be manually reset.session.reset();// Note:when the session is expired, it's automatically disposed. // To reset the counter for expired session use start method. // to dispose the sessionsession.dispose(); // returns time left before time outlet timeLeft = session.getTimeLeft();
By default the counter is automatically reset on those events:
- page load
- mouse move
- mouse down
- mouse up
- key press
- DOM Mouse Scroll
- mouse wheel
- MS Pointer Move
- click
- scroll
- touch start
- touch move
- touch end
if for some reason you want to chose the events for the reset you can use
import { IdleSessionTimeout } from "idle-session-timeout"; //time out in 5 min on inactivitylet session = new IdleSessionTimeout(5 * 60 * 1000, "click", "mousemove", ... etc );