1.0.3 • Published 3 years ago

jwt-fsm v1.0.3

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

JWT-FSM

Simple finite-state-machine (FSM) to manage json-web-tokens (JWT) tokens

NPM version

The core idea is before token expires, this library will automatically schedule token renewal so user always has a fresh token.

const jwtFsm = new JwtFsm({
  renew: async () => {
    // Service call to renew the token
    return "updatedToken";
  },
  recover: async () => {
    // Tries to recover the token from local storage
    return localStorage.getItem("token");
  },
  persist: async (token) => {
    // Persists token to local storage
    localStorage.setItem("token", token);
  },
  // Optional
  renewal: 5, // renew 5 minutes before expiration
  logger: {
    info: (text) => console.log(text),
    error: (text) => console.error(text),
  },
});

// Get token value
const token = jwtFsm.token;

// Manually update token value
jwtFsm.setToken("updatedToken");

// Clear renewal schedule
jwtFsm.dispose();
1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago