UNPKG

jwt-token-blacklist

Version:

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

35 lines (26 loc) 780 B
"use strict"; var createRedisFiler = require("./redis"); var createMemoryFilter = require("./memory"); var _ = require("lodash"); var ms = require("ms"); var jwtBlacklist = function 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 = function (token) { return jwt.filter.check(token); }; jwt.blacklist = function (token) { return jwt.filter.add(token); }; return jwt; }; module.exports = jwtBlacklist;