JSPM

idle-session-timeout

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9044
  • Score
    100M100P100Q181057F
  • License MIT

Idle session timeout is a security and resource management feature that automatically logs a user out after a period of inactivity

Package Exports

  • idle-session-timeout

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (idle-session-timeout) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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 inactivity
let session = new IdleSessionTimeout(5 * 60 * 1000);

session.onTimeOut = () => {
// here you can call your server to log out the user
    console.log("timeOut");
};

//optional
session.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 session
session.dispose();

// returns time left before time out
let 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 inactivity
let session = new IdleSessionTimeout(5 * 60 * 1000, "click", "mousemove", ... etc );