UNPKG

jwt-token-blacklist

Version:

A module based on jsonwebtoken package with blacklisting in redis or memory.

34 lines (25 loc) 727 B
const createRedisFiler = require("./redis") const createMemoryFilter = require("./memory") const _ = require("lodash") const ms = require("ms") const jwtBlacklist = (jwt, config) => { if (!_.isObject(jwt)) { throw new Error("Blacklist jwt object required") } if (!_.isObject(config)) { throw new Error("Blackist config required") } if (config.store.type == "redis") { jwt.filter = createRedisFiler(config) } else { jwt.filter = createMemoryFilter(config) } jwt.checkBlacklist = token => { return jwt.filter.check(token) } jwt.blacklist = token => { return jwt.filter.add(token) } return jwt } module.exports = jwtBlacklist