electrode-csrf-jwt
Version:
Stateless Cross-Site Request Forgery (CSRF) protection with JWT
31 lines (25 loc) • 803 B
JavaScript
;
const csrfHapi = require("./csrf-hapi");
const csrfHapi17 = require("./csrf-hapi17");
const csrfFastify = require("./csrf-fastify");
const csrfExpress = require("./csrf-express");
const csrfKoa = require("./csrf-koa");
const pkg = require("../package.json");
const { isHapi17 } = require("electrode-hapi-compat");
module.exports = {
register: isHapi17() ? csrfHapi17.register : csrfHapi,
pkg: isHapi17() ? csrfHapi17.pkg : undefined,
expressMiddleware: csrfExpress,
koaMiddleware: csrfKoa,
fastify: csrfFastify,
hapiCreateToken: (request, payload) => {
const plugin = request.plugins[pkg.name];
if (plugin) {
if (plugin.createToken) {
return plugin.createToken(request, payload);
}
return plugin.tokens || {};
}
return {};
}
};