| 123456789101112131415161718192021222324252627282930 | 
							- const { doubleCsrf } = require('csrf-csrf')
 
- module.exports = (ignoredMethods, excludeUrls) => {
 
-   const {
 
-     doubleCsrfProtection,
 
-     validateRequest
 
-   } = doubleCsrf({
 
-     getSecret: () => process.env.SRU51,
 
-     cookieName: '_csrf',
 
-     getTokenFromRequest: (req) => req.body._csrf || req.headers['x-csrf-token'] || req.query._csrf,
 
-     ignoredMethods,
 
-     cookieOptions: {
 
-       sameSite: 'lax',
 
-       path: '/',
 
-       secure: true
 
-     },
 
-     size: 32
 
-   })
 
-   return [
 
-     (req, res, next) => {
 
-       if (excludeUrls?.filter(
 
-         (x) => x === req.originalUrl || (x.test && x.test(req.originalUrl))
 
-       ).length > 0) next()
 
-       else doubleCsrfProtection(req, res, next)
 
-     }, (req, res, next) => {
 
-       if (validateRequest(req)) res.clearCookie('_csrf')
 
-       next()
 
-     }
 
-   ]
 
- }
 
 
  |