{"_id":"@admixltd/admix-jwt","_rev":"16-b04d4a746b2def124646e31798ae56b5","name":"@admixltd/admix-jwt","dist-tags":{"latest":"3.0.6"},"versions":{"1.9.4":{"name":"@admixltd/admix-jwt","version":"1.9.4","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/advirltd/admix-jwt.git"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"6.8.0","eslint-config-airbnb-base":"^14.1.0","eslint-plugin-import":"2.20.2","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"@admixltd/admix-error":"^1.2.0","@hapi/joi":"^17.1.1","jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":98,"lines":98,"functions":98,"statements":98},"bugs":{"url":"https://github.com/advirltd/admix-jwt/issues"},"_id":"@admixltd/admix-jwt@1.9.4","_nodeVersion":"13.5.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-uqP3ZpdstyWythEU4p+ELazQsRK6v+iMYo9lrbfB9+2wwstSLN7DSOLn9lmhqdMAE+oEKPlkhCfKDoCbEGlFPQ==","shasum":"2c48517abe7fd58745b2035ba3d7e0e2f8f9c55a","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-1.9.4.tgz","fileCount":12,"unpackedSize":120079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeossQCRA9TVsSAnZWagAALhUP/RhIkiG7z1Zp1lAvaZuK\nQHLBPVTOv6PzwxdyJVIxBJK/RHj7Y9OdNGaKExbqRFi9ItmOi8NbxCy3YPXZ\niDRbKqFAViWPUMbkndjvQVBwdClMXwD7+pAevt3dZaawGFT0Cmx2rYpUhnWD\ngzfe9dimzE2IAxEQZ6LsHBXiKqoIHbw6EQNRfg0SJ8cSfys9VNxt6aWpMzGY\nL8QdvreJntJhQXoXI8CGQNR4WbEYgHpEX6gW/m2vvfmHvRyWHNV9EHqWMjJM\nDIhsrdzNUtAwwR6g/Rrku3urOaEXC18xr+6nPO050GSX9hmUB7Pl/SzwJ64J\n7cNVvdhGbbxSreKWCl9f3jRS1Xy0fUgado92NtnXZlbtrzaEUMClowglCT/I\num2RZ1NoGEaqbsg/PtiuK+7TEUT5QCBR6MP7vcVy7zysYgwcgD7BSaoYtVUi\nBnUXJFBZMa/EDAVfp0QEJrGJZyncoGgiIfzBOP4J4TUUSo1Q/5FH09+WVJOI\n2tMD4oImv8AhxkKHtHGHQBCn6fogCUWfzayxajAwf33jyq+mHwJDOfwAg9nt\noNSOyOo0EmkY5QChlBcBEfiwJ7ddDG5RO15MZ03l6wxs+94Q17rpV9y8mJnh\nx6DN03kXtYdtzowbL8Sn4vFR52xb6SDSniCaTS7mSvok1V0yppWFUYdBgy5/\nXMeP\r\n=9T1x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/4BpxeSZEqmEoBqhUSsBzX+tctBrNqEWeNxUJC9BfZAIgHo3690WBc1TfdXzaL4YEoJUp9OoHZO+6kqmBQQuMfRg="}]},"maintainers":[{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"}],"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_1.9.4_1587727120241_0.6928654524043776"},"_hasShrinkwrap":false},"1.9.5":{"name":"@admixltd/admix-jwt","version":"1.9.5","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/advirltd/admix-jwt.git"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"6.8.0","eslint-config-airbnb-base":"^14.1.0","eslint-plugin-import":"2.20.2","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"@admixltd/admix-error":"^1.2.0","@hapi/joi":"^17.1.1","jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":98,"lines":98,"functions":98,"statements":98},"gitHead":"7d149653b8676c9b755e2d6d137f21b0bad2b9d1","bugs":{"url":"https://github.com/advirltd/admix-jwt/issues"},"_id":"@admixltd/admix-jwt@1.9.5","_nodeVersion":"13.5.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-r/N/yvrNz+2pFgGpWDerTcuc69zOXwUvgxdHaMBElGTk/uoJTUSt0xAsZ6nH4i+WyQcaEs4QPYR5BdH/xtYqbw==","shasum":"c6e728514bd594beab155e566a2611719647fd40","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-1.9.5.tgz","fileCount":12,"unpackedSize":120075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeosziCRA9TVsSAnZWagAAJ8EP/2eEh6n6UeUgVD6NoY6Z\ncraqy21GkIcHXQKtA657cusn+U2vyXGKNNf51a11xG0FS8Itaev/8CEje2VF\nPMutYnhJsJ1Insdwpv5wT9QkYAkJYS+75CH5CsbzZ9icPUMK/gV1bNTi0k8D\nB20DHsmL8qhLJuGbhgYZ7hKtn5tvTy6mSnnvFnnyzFjNnq3aLCtxdZ/T9KJz\ndcZc33qNqRgp2IWwfKA8yAVhSLHITdwu4e9+UK2G6ux8IpkuB1LIvD6rRltk\n1EIYc+fTwAo09+/INgOYdbhtNG3CRlL3l3ofSNaJZEQzdRUCv5dDO8WbMIs2\nZd0KUB6tzbwYy/TQiM9Ss4lGPV0t8VH7cIjZr05SCdbiNWWfODLtGQ3jPVK7\ncMh5LUdlIeyg0E5h9qfsmiJHM0qfBp/rNFu0huu5BrNGzk9wRR456WA7FHRA\nuaNu9jW+n4tky+2o8C7tm+L2nbTjJIIGhBeUolgoqrXfQSO3RolsN3WexdD/\n+oZCG4yNeJLe5qA6RBCaYW3vbDdOPAletT5D1krBcNVVWThOF4vNJLoOmcWt\nFrQ4WomG5ZNSOoiXeAaznY+yj90XIj4N7phyb2gQz5ay9/XxkiAnoR44MvjC\nJ6L28cqbXxGiM54+iFvIBoo4CWAIr9/u/czGSsH0cQBRR0EzwHT2puPLoqaK\nTUdY\r\n=wBqC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGEz609asDsItNvZfSIFIvkH7S/neqIgQgnNij6SGAHsAiAyhTk/zAo6lGiIv2H0v2nJ+sk9cCASIOSSZHSRCLuiYw=="}]},"maintainers":[{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"}],"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_1.9.5_1587727585781_0.0021597316676149614"},"_hasShrinkwrap":false},"1.9.6":{"name":"@admixltd/admix-jwt","version":"1.9.6","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build","deploy":"npm publish --access public"},"repository":{"type":"git","url":"git+ssh://git@github.com/advirltd/admix-jwt.git"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"6.8.0","eslint-config-airbnb-base":"^14.1.0","eslint-plugin-import":"2.20.2","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"@admixltd/admix-error":"^1.2.0","@hapi/joi":"^17.1.1","jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":98,"lines":98,"functions":98,"statements":98},"gitHead":"7d149653b8676c9b755e2d6d137f21b0bad2b9d1","bugs":{"url":"https://github.com/advirltd/admix-jwt/issues"},"_id":"@admixltd/admix-jwt@1.9.6","_nodeVersion":"13.5.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-RU2AHfN2gZGjCUzZZ9Bj2Dy3LTcUTCoylQjD68nyFtmwS4q5nuHH47Pr/XNUulGSWkVXMkPSwoS6KtVP95wGsw==","shasum":"78dd2359ac8f14dbbc8bc42a4ae9eeaad20d1d1e","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-1.9.6.tgz","fileCount":12,"unpackedSize":120121,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeos7fCRA9TVsSAnZWagAAHlUP/igUh5FjbSDpWaspSNBq\nhvy/u07W/+jU5Tjpgqjdeb891MVLn3dBoGx3088Y5Zlw3s6AnBTfYMd6SdVr\nYlKxXZGw/ohGW1dzyZMIUWfiVLXgyrnAn4UCS3gZXnuYlmKu7d88BZ0b6BZp\nqZZk50vDeyN9j4dqPbx3Q8IrK0Sbe9NTyp1sT79T3aeBRttS24JHahieHDir\nTofkkM4lKdFGyFkT4Iv4C1ShKfjILYn9BZ7FtRvou5YECs3sGG7NLC8jO7Nt\na3LqewerG5QGoVujMN7W4uoOrXRsi1Bee6XzlfxC2Ct76CH5AYg3HwvSo6sO\nl7UshiR5T7xWOplQvyJieIigbAaa02Q1vnjaGRJ/WGltkorxB2kSnC1xgCOV\nNmcbDFDnP+Kx60pA11KawK+75Tup5RvrWnHtIDfcqIiGYwxOkckPtZ+YzAkw\ndvaZ6k5Xn7vh8Fd1qcfwxXaLtBmPGBTi90L9FsetCgD9DleWUGkx2KaC4ABf\nLcu3Hpuhy9dwaQvNENsgekFS+17DZ/uRNyNihgU4QVHEfLw/WHSElyWdjgmW\nA2fH3+NhCMkGUMdXERuQkeLPew/Bm6K1LUDgfYXJsBtgvP1b1ZpD5wRDDStu\n3Lndcvq9b/7JyKrEqPNsQWFpjvoL+9PufAkVP1UcUbkHVrZlW4W36k/s8X/S\nNla9\r\n=rZzs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGaq3dvCZ46I9pf0MiRk2q+upDkW2/49oYFhchFgCNdKAiAzWrV5v5I/i2+v4veM1u812oTU6Y9oU6+lrC28F8TnSA=="}]},"maintainers":[{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"}],"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_1.9.6_1587728095429_0.9426342594432457"},"_hasShrinkwrap":false},"1.9.7":{"name":"@admixltd/admix-jwt","version":"1.9.7","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build","deploy":"npm publish --access public"},"repository":{"type":"git","url":"git+ssh://git@github.com/advirltd/admix-jwt.git"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"6.8.0","eslint-config-airbnb-base":"^14.1.0","eslint-plugin-import":"2.20.2","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"@admixltd/admix-error":"^1.2.0","@hapi/joi":"^17.1.1","jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":98,"lines":98,"functions":98,"statements":98},"gitHead":"fefa6638e7c18b802f5c3632bcdc6856083d0d55","bugs":{"url":"https://github.com/advirltd/admix-jwt/issues"},"_id":"@admixltd/admix-jwt@1.9.7","_nodeVersion":"13.5.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-OFYf9DDqCAGZzPEmv2hkOWqt1ZAITHf8i8U34+qlNk2CnGcdlfOenRxMPur1vrNxSZ1P0wqdWF6BLUE2RoC46Q==","shasum":"5b7c70d59c6a8c0ba7ce6cf98b579060ed57ec88","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-1.9.7.tgz","fileCount":12,"unpackedSize":120119,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeotEuCRA9TVsSAnZWagAAWmQQAIqTCt0tF7ueTDRY7QcV\nGUfFmSMSBrBeNhFA2SjzWW1z/t8WpzPzYqiiXwM4KhZHc7OWPbrFa2t5zpnX\nekbHVbDYqGsvdOsUTzysXzFUDxQzRlRgUe3AbS2/TgrYg5Fk27gCGHOSL0c5\nAvZzG+v1LmmlSgjPNVXbptYnvkrUbLYhUaVeQh+33CjJA/yE+me22edMntG9\nyMlvpOHE3AJVQbRUu5OcPkkn4AXn6YTaZ8eDyBNe1zx5vF4+Jf6Xw+p62lWV\nPG4UpnWBST0bRSJFArUTSlOea0KDa4HKIuYP2Bwiq8C+pMi/bX+sbB6PFZ3p\nDBV8DOa4WxOqNwPwV9okNpVucfeeIlOPkmsphH/CbaH9MvSDUViWdFsbhSwj\nkXMPyLkzBfVYciBxfuAD+zma22wEskX3kW5u34ruBGvwcmKw53IdgD0kDyY8\nbUd0BicjH3V+UgIBkrtx8dIW8dBVS/DcdFA1sSsrK3tFMDtdJhLiAVUOHgM3\nzORGii7W1wSwoBcNwnj4Cv+hZ0faEFZ2A/ISyH+nO+vH4BpFq4TZeaz5q7Lm\nCvW5mHoyvuys1snU83uy1PaC40eDRPb/Oxve5w00xPtfQELMr8fUd52GSK9i\nuSHY+vCLpCrk2tyqX96yRc5ntwE/INHV2o0jDEgkiaO5VNtxi2R1YX55M6hu\nh8vZ\r\n=HdH5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0M++Pu7dpo3CyiYh6+boiLMeP9ozM1ff1ofcwInglzAiBEuTO0wb3A7FPSys0oNdZptGhB2sw1Q7UYiLeEayN6Pw=="}]},"maintainers":[{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"}],"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_1.9.7_1587728686514_0.937715594109265"},"_hasShrinkwrap":false},"1.9.8":{"name":"@admixltd/admix-jwt","version":"1.9.8","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build","deploy":"npm publish --access public"},"repository":{"type":"git","url":"git+ssh://git@github.com/advirltd/admix-jwt.git"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"6.8.0","eslint-config-airbnb-base":"^14.1.0","eslint-plugin-import":"2.20.2","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"@admixltd/admix-error":"^1.2.3","@hapi/joi":"^17.1.1","jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":98,"lines":98,"functions":98,"statements":98},"gitHead":"2c29c96767fdb1fa97f17ae76e037f7597097bf0","bugs":{"url":"https://github.com/advirltd/admix-jwt/issues"},"_id":"@admixltd/admix-jwt@1.9.8","_nodeVersion":"13.5.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-OHWZdPZdpyZM4GzD5turM4HoMPAG0XT8ojuWx30LHdFWtow/wsN3/weE9e+hMFmY/+sHR3F5CBsYOtlACpPnLA==","shasum":"e84a2bf9ac21a9cac32abda22ef5c275e4c5f73d","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-1.9.8.tgz","fileCount":12,"unpackedSize":120119,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeotHfCRA9TVsSAnZWagAAjoYP/im7xve8kxLgGSTgXWFk\nCS5QVaww0gE62dlUHHNbXLKL+DHqm+YywlYuy7h/dKcZYVmZjLemn7NWOz1U\n18cIcAF25tl+x2Z6Ntqgx15G1iqS8n4Xq/1Xdiip4jHHL0vRiuznGW3Iul4T\nW0z3lYtiV6iPKMmoLn6CTKVKw/a9VCyc0cCRwyTzhM8NK0IlRP4iEsH2JSfD\ndQKbvss9/SxtJED5cdDiBFC7Y+zMSl6H54y+xbiPHj3DTWyOkuvxmN7TtIuo\n/Sdl60xiFUmmoMiOkaj/+7PCe3VhG/zs28snlToFL5N68XCP9abQc4qlvmAO\nEJkYxbrGbecKoniCASyTOcYMhNmtjYVEUD9Eh1WitYsRIx+FccHawwZ8Vb1G\ne+6qcx753u48eyFkDPMej3CQCXehBj1EJidxXtujvYXSKLH9Lfk8gntsZzhO\nXPm4yb5/nSMbAXIJzey8pEI8tLYCSJVl32SfXhy98PzQGtrSnuHskhHrhLBM\nzcYdvKpvMO4Ubw31SwmMHDpd6k+/eo96Yz2Q+4e51AYCosmx9g4nUCTnMMk2\nGI6NxTPGbyYfHGeAHGPA9sBTBr8fPZDYb34Pl6/T85ggbNpedaWpZsjmc6Jy\nKa7LlcM+BkN3bo7HOOLNSTZS01nRl4RUrZVlxIOeA8uOmf+ol7r5ji8Zbr5o\n2mSd\r\n=IOpT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBBE0ZaMZU+eU4NtY0rEnVYRAE9nPJKvWjNDKjsXRYDEAiEAis25xPu3aEWZySNtqOs/eAqkdokndmyJVX5ol+aKIJs="}]},"maintainers":[{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"}],"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_1.9.8_1587728862736_0.4828029691055633"},"_hasShrinkwrap":false},"1.9.9":{"name":"@admixltd/admix-jwt","version":"1.9.9","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build","deploy":"npm publish --access public"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"6.8.0","eslint-config-airbnb-base":"^14.1.0","eslint-plugin-import":"2.20.2","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"@admixltd/admix-error":"^1.2.3","@hapi/joi":"^17.1.1","jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":98,"lines":98,"functions":98,"statements":98},"gitHead":"77fff2835e6b6b37eabb388f73b52ddc0e997d22","_id":"@admixltd/admix-jwt@1.9.9","_nodeVersion":"13.5.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-W9UL72yk138ib3J3bAH/551smb+HKf/G7jRYqWDxt3+a36OUqOBAFi0nI0QQkO3BZj/rPHvPXUx2a6ok0CzFww==","shasum":"c2c376eb1d1bd863588e4a39e029571e52510cc2","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-1.9.9.tgz","fileCount":12,"unpackedSize":120012,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeotY1CRA9TVsSAnZWagAAn64P/R9m2bmngop7+AWDs0D4\nyAe4rqwKfulZG7x9KGScVOWqJGryluQhLwvGJ2e5wOEQ/s0SQPKODru3GazK\nFIFNLqZz8ojzB/eBFBwCwYYT/VbVlNzhowgPd863+wO9dwpcMjbyglsEmWHD\nI3r7pr2IkpCPHXJSjv+zGjVd9Q0TVzMYKfYTJBOG8tdS//rilI4w8Pwe+7CZ\nCRYAul8OaRplGOmElFMMdCoE6Gnamze2i1+3CzSFt+zrRH3PPe44iV7zamAF\nKSYeTkjiz4WSOhSF2A6Mle9tdO1PuH/kYSZ2ajE5xKm6CLJLg1xjgeh5TlOP\n767kXffS5tnpX36OpKhn06vmgPtAP/HCzp8HT/TkMr045UG6MJPhjRIHf+V/\nu/Bt6zvANXoDKpGwxANqPo4fO/wDb0ih3Nuwjex5dDKYsa7+qrL04/5gEQsj\nc0ZANDhb/Y5+RZL0grS0AQ/f8XiqUl85K9V2JYzd7sBnp2Y1Qc6QXBZJ36sj\nXd1lQbuApwq52s2aFncylvd/TLcwEPepWG9XHQxVvRxHTkh36aVgCNWrtUF0\nOjG5LJQONyCrU3ed1iNEACaT5wK8mFSJ3kU1LA5zOgDQT+GKudRr3oEzA8dY\nu1MTYSnwigBp5aF9AvgsAEutX5tOlh69WvpHDMU1EGZ4T+Ua//9ZQctvMffv\nw8zA\r\n=RmfN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCL5sHR5dYMMo+MdIJ1aMtop14qRtsRI07/djwJEcKklwIhAN+xyn9s0uNbZeyou6invl7RRsWXC7RRzdbgmr+a9d8C"}]},"maintainers":[{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"}],"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_1.9.9_1587729972468_0.09639727072856474"},"_hasShrinkwrap":false},"2.0.0":{"name":"@admixltd/admix-jwt","version":"2.0.0","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build","deploy":"npm publish --access public"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"6.8.0","eslint-config-airbnb-base":"^14.1.0","eslint-plugin-import":"2.20.2","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"@admixltd/admix-error":"^1.2.4","@hapi/joi":"^17.1.1","jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":98,"lines":98,"functions":98,"statements":98},"gitHead":"77fff2835e6b6b37eabb388f73b52ddc0e997d22","_id":"@admixltd/admix-jwt@2.0.0","_nodeVersion":"13.5.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-DLev+b1AX31O9CeAePzJdzKmOB1lmPqLsjdxZsF5LzklJ4YC8Tr7D2byXfW0UilI6olm8I/ufsQoRfB6Syw0yg==","shasum":"db2b5485fdcd5cb834606063fd7bf33e9bb71801","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-2.0.0.tgz","fileCount":12,"unpackedSize":120012,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeouw2CRA9TVsSAnZWagAAfqsP/iUmy16BH00u9nIGkhvx\njhp9/Ss4TbQXu7PSPPuvAGNUIi0kqsURkdh7pfjaf32gJLdpfOh3Fh3bgq7j\nZ0rWZRE8JB0xGZdNq+AvpSGAJGJujZJwfLKFyBKMOxsx/P9J7ZgisNdoPRUD\n3cP6YlF1KYx7LwUvJdOW88fOYyWQMIQZN0eiPu5OUp6+bxQmdcBcdcSfFU+x\n+RVJ9xItrEmydEGYgXbI7hCJFr+GN1NKzTPVfjGsbghg2yuWhzE3SqRhmLqO\n/EqHcXyA9Ql41OSO0g8EWvnIjfRsUq3rRx7FPp64d+ZvjRzaBFPLeskVAvP1\nckBSzrqw1fXfmqBB2SAdYG/KxgA4wz8HRdRFAvNimxFGv/G8Qx2OCqxMBMlF\nC22CEYqJ76GnRmdDvPwsyB8V+tUHgZU8cWS9t14yST1HmEU3DvXqbE581u1w\ngBSBvmcl/YvjiQ7jIW9eJ9zoiPxW/xE/h6U67ze5TSq1ShpKf74m84qj/WQ3\nptvgPmozNuuHn/Di/KfhmVqjd2npnxwKscoUA2IEu1ZSfNq4CAo5R+X9egTj\nQ1x0FjMJh3wKNDZVXBq5j9NIL++UrxLf24rP9K3AD2lhc8pCvzlCYODSVj2z\nzJ7HndE68eL3TISXpp0R1IjVz9VR8QqkEJUTnIAEhvjTsnKpwSIpKGkiQLNT\nCYKR\r\n=R/v1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEfVzvayisJwn02ayvmyFmiJC8x2eSlYJAp/QrfIG9AfAiAt8wmuS/AsnbQLn/8zZ1lCH6UZGSY65lqT/JqjPR+Ezg=="}]},"maintainers":[{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"}],"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_2.0.0_1587735605658_0.08345851514121527"},"_hasShrinkwrap":false},"3.0.2":{"name":"@admixltd/admix-jwt","version":"3.0.2","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build","deploy":"npm publish --access public"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"6.8.0","eslint-config-airbnb-base":"^14.1.0","eslint-plugin-import":"2.20.2","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"@hapi/joi":"^17.1.1","jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":90,"lines":90,"functions":90},"gitHead":"c053f5f88e2c9ddf9f4ff31261547126dfe77a64","_id":"@admixltd/admix-jwt@3.0.2","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-4UfBslRAjpil10MGwIOhiIvVzDZZ0IPDivczjS04KafKNoWkE4OUyEFw+RaNki7vvaaE+3TmVa1C1ZrB0Kq2hQ==","shasum":"e62347a835143405da3ba817fef270b748ae6c49","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-3.0.2.tgz","fileCount":11,"unpackedSize":136050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0sdoCRA9TVsSAnZWagAAmjEQAJaVQVc0VFLOtpwv4heA\nEQ8mq4HuZab/KB0L6VYFUZKFQ/iWStK9yk7BAxhXZz71QPxyYH0oebkyVmKW\nwiO6rYQwncFZqgFA3nlDDZhXZUVuKx9rIPNxjRas0Hk/NX8C1rh85RAtnsWC\nBgrqjYD6THFof0Ey6a3oNaX3qSzx+S782ZOYRTz7u0EV9XRxZpjR1uJP1P3Q\ntfXxjCkHNA3aSZlJbp7o2HLnlhN1QY87x7JY8MgEedp2vZ27M367I12GRjoh\nDY5qhJlmBIsCdSehHBnKH9T6rNP2mEwFBy8Tj9Z74XZIQ1VCBmbgHZHIF5o2\nr33WnnMB81gskUsfSlF7854vOgkywDmE4y0ddWf74Yf6Gwxfy04isHaDOAna\n6UUfFNlzFu7hK3ivwJgh1NIrvwrzjq5JLrRQ/PkGJTDl/tZAljzjDlERmep5\nS6UsAO4z553hmYHwD1TpMn7W0WmQsGF+qZxws8JUJN9lm2P1Wjd096lKnqUB\n37zpb2ADNrCeZPrTrebTMZXYKJQYKr0NxhjbIUlr9OL2/P+yyuxWpOoNM2yn\njRVEsmg73j7dbPqycuLBwJftoVWa6b90mUKdE6W/1EB1jJWtRo2oNaw4FPPR\npKO3x5P915KxTekXZXS57KJsG6Om8/hot34pNteIno7Q9XkqYI+gbyJqedCj\nrUqR\r\n=VHaJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEksLWmHhwNF/6iZapLljO10/zc3T/5QzCiGz8SvyO3GAiEAzjAPtj2w8GxPB70yEezTxxBTp/2Qa9N6V1zVjh73wHM="}]},"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"maintainers":[{"name":"cr0wd","email":"freshcrowd@gmail.com"},{"name":"andmev","email":"tuhouc@gmail.com"},{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},{"name":"manuelcanero","email":"manuel.casancho@admix.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_3.0.2_1641203560177_0.41761370799074204"},"_hasShrinkwrap":false},"3.0.3":{"name":"@admixltd/admix-jwt","version":"3.0.3","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build","deploy":"npm publish --access public"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"6.8.0","eslint-config-airbnb-base":"^14.1.0","eslint-plugin-import":"2.20.2","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"@hapi/joi":"^17.1.1","jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":90,"lines":90,"functions":90},"gitHead":"dc7ff3af9796742338ca925d17290d466ab342bb","_id":"@admixltd/admix-jwt@3.0.3","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-UFbs05kBmMNxsiIJZynIedAnrlSg6s/bCEwDgckgF7nCrxoxwHpCN3sdWqvjnu4IvrPB57o1jaT96fQB5JZh+g==","shasum":"9cdf4282926cfc83910c3508122717325baea499","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-3.0.3.tgz","fileCount":11,"unpackedSize":136054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0v+2CRA9TVsSAnZWagAA8AcP/2aAELn2H3bQiGVjxIU1\n8mPzvS5VSwUjQgWl0qJ+jWxq+33gbKnJhEh/gDuMkRDfqsowiM//bNjeERsP\n4Kc4igHTjSP4k04OjqkZDGyKN0nn9ZO2TwpPnXhRQasVMIklySfkNb8aBblq\nQxeMVxs1E9mzf5ChVKBHnxIxkextsJT17tg7+TeGLy9FkeXwquD9NdJ8zxI0\nGq5QRUPxnSsjGnzao3/0f9BaTHljP85VgyrbkwSRqUtJcKjuDTkRygcU7G/7\nrZeWudttKe4/PKZAfz3TapsiQzR/Y6D6RIQjOXSb+GXrO0JiX/jajgqEn9F8\nV2hFT84dvA+rdjdqVDrqgv5bJQbSupRGx+/2vHaZn+Dik7ma6qWLUTdvVQG+\n7rGXoRATlp63tE7w8oCAOLZRInwI1mueSRlwHLhG6oC9uVOUZXTthGjokNo+\ny8CRr6y+pN6TaM3jMuAoq0q1x3NFz+N04OcaHyCx9KfiVQzGz1MAvva+6CFH\nBu/eTmuiAupPXhCcPVR/HgRAbErJJNfJ8A62ujHiFaFcZ55FkL17dXu5usg9\nqY/bDT6trMGLHeQ6tCb2jWi4GWjSaaaNSf/XSSlmodcX35ObQex6lx1XW8XZ\nJVuA2cjswUc+AYi9b2B6IXBvZHBQYkp+MRC9db/kRqyf4B/jmFyJ8+XDaaNb\nfbWV\r\n=K6YJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCe5bze4X+iEcbt3XVWj1cqHn8azQ+H64NmjGh/1EbzWQIhAPdZG/9w2ltVXZ+J2GQ5tFyaor1TEFfbkv8yfNMH7Zwz"}]},"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"maintainers":[{"name":"cr0wd","email":"freshcrowd@gmail.com"},{"name":"andmev","email":"tuhouc@gmail.com"},{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},{"name":"manuelcanero","email":"manuel.casancho@admix.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_3.0.3_1641217974062_0.2714859190710124"},"_hasShrinkwrap":false},"3.0.4":{"name":"@admixltd/admix-jwt","version":"3.0.4","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build","deploy":"npm publish --access public"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"6.8.0","eslint-config-airbnb-base":"^14.1.0","eslint-plugin-import":"2.20.2","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"@hapi/joi":"^17.1.1","jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":90,"lines":90,"functions":90},"gitHead":"99f08c16e3d9fd13511c06d8662a9d973a7a1453","_id":"@admixltd/admix-jwt@3.0.4","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/M7nX9GdCNZII6QRgYpra/WGCGsRUWuk17TlsV1BcmrxYvT9lHeR++cpLkCOBpt3nRpNrX2ESt9blsd61t8Wbg==","shasum":"ec0c1806a3ca6f37c7e5c4fb826813ff57a40486","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-3.0.4.tgz","fileCount":12,"unpackedSize":140584,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0wK/CRA9TVsSAnZWagAAT+IQAJcx8V/Ws/2m/T1EOBDC\njDC+zwDmlGhftsIrui66cBZ6Ac7vjtaG+IqEJkVKhYrpcyeXj5Jxz+tscjJC\nbLz3jjVCu0nDBo2u3SvPt/haqA21GaWY1XpArXLmCfWPv9vXEyHX9nYuvqke\nMuRrm5nOhY/kH7PJnsvci5Ow2vs3LJ01pckpjy3sn/D4lAEkDSrZgC4o2xo9\n8pltaGBTSMAsB6LJt/Pm6EWT0Y9e7o30vY+3AEdPLPMOturYGcL+8r87N1sT\n/OE7+mJCZkkiMmmKe7euoYdELAr6cKZbFwwWcowDVr15mP1HTUMOFo/C9WWt\nVlFRGk4Ir30DnYzp1yPJEs2oRpf7JkpaZX3tiqoktq8dzHI+694QO9MxAdf9\n3/UW+NoDmtqys4oUgT2GmCK0ljqAGj2e6nOM37ztox5g1ZhQm02LCSPIHfTw\nj9j5nCrMhnMQ3Zrq2B0MiNsBN1V8n3KqLYvblnVl8q7ug1WZqZrJ3fK9cFCn\nJ0wTahOrDd8oW9kepK/IfIDMbQ+3nAqAe17IbDTAlkuCwN2FotCC4dlrvtM9\n6Z7nAEcEbADqejTxGseuBYlDgYxkr4cDrJvWYvo86RwFSdq1AuO413C00/bj\n2bdTIKoGPtCyRBAM9VzEaD1i9Mu54NDs2VsQGJ6Cu/MphSEAo2+ThT2keJG7\nVKxZ\r\n=R/Kd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcfCDK/kDNCHT1P139cOR4ZCX/veP0bPfEeHXrPjDxMwIgaQSBKT/eGw9r9iFCfZ7GWJOc3S0sSfglPG0F4970Bs0="}]},"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"maintainers":[{"name":"cr0wd","email":"freshcrowd@gmail.com"},{"name":"andmev","email":"tuhouc@gmail.com"},{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},{"name":"manuelcanero","email":"manuel.casancho@admix.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_3.0.4_1641218751129_0.5748329388088669"},"_hasShrinkwrap":false},"3.0.5":{"name":"@admixltd/admix-jwt","version":"3.0.5","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","test:unit":"npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build","deploy":"npm publish --access public"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"^8.16.0","eslint-config-airbnb-base":"15.0.0","eslint-plugin-import":"2.26.0","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":90,"lines":90,"functions":90},"gitHead":"e1bc090541a7bb1768c29011d11493d6a3055969","_id":"@admixltd/admix-jwt@3.0.5","_nodeVersion":"16.13.1","_npmVersion":"8.3.0","dist":{"integrity":"sha512-mM5H78g3EaGNniZcKgFokWLUg32y+ad2rXKzyPPydkIsMni5cgmvlpLq1Mlv1nfnmKqVrgPmRXrro+HzZpYWNg==","shasum":"efb3c936beac699969332ef453b46bb442316db3","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-3.0.5.tgz","fileCount":11,"unpackedSize":148074,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH6vBI78kor6BjoU0lM5/7rEQQGXdgBzyzHPtaZ4aSoVAiAlLsN/WXtr0t4xNC3eUn1yfAvHeXYRsij+nUTpHQlAKw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijKD2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowEA//dmtnf9Nn/00eB6qqMTnWCBHX5AO+EBrUGr+GuzHqRYdrzmR5\r\nC1XWpJ6lMKGESsgKSsByrF/x8DsdmRcl5WqWWPOqBMd0Bk+EAYIdHcqQCwaN\r\ng6UA5ueVyOZMRAQqiTLhvrnpDBu6uGP6Cy7OdKzTtAt8+x0EWNI5hltcIcKF\r\nCLPe7BrZQSmKWmfvJLX1ECe3ZBiiBU++OMDJFfvLSXKNY1wOPHmfwVmoDzTS\r\n53aqZEgFwWZBOvuCjkNgcw9bEoCZWT0XiMJIOdGHw7ymdFvm3Olr5vLKrZ+a\r\nsjzTWeHA1WrpA8y1RZRT9vkUnQ7JIZrshbe/wdkyYDXXliDsQH0o+Es+0zMX\r\nIUkAt5WeuPg7LCHotsZdPXTLtWT5ByKBwrsxCChFKieOljqibRRFG87bx+E7\r\nTQx/r3XeRrGODw5+puG+1xFTrrUtqV8jHkplY8g6QCEuJpxYVSVOmpKzfwdA\r\n2euRbi341akSTLhVrSNl6oQk1F4eYC8mJQTzUcE7w66D9XwzhvM6IHzXKRR+\r\nwguwCkCf7Wpsf69VqBKIeTWSJQTPVgZI+3j2Ui5S9pzlbuSh9Z9OglUl4dbJ\r\nuVKVVsad079SSruphxD/arIkt/us1M/DiPAd+J2bK6RT5dmoyJTjXiVIa2+j\r\nDDKsXdGb2KP78ub9SvsrEpUNsFQ17xjVWqc=\r\n=TD16\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"maintainers":[{"name":"cr0wd","email":"freshcrowd@gmail.com"},{"name":"andmev","email":"tuhouc@gmail.com"},{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},{"name":"manuelcanero","email":"manuel.casancho@admix.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_3.0.5_1653383414271_0.8739912958726259"},"_hasShrinkwrap":false},"3.0.6":{"name":"@admixltd/admix-jwt","version":"3.0.6","description":"Module to manage JWT claims-based authentication with permissions.","main":"dist/index.js","scripts":{"build":"babel src -d dist","test":"npm run lint && npm run unit && npm run coverage","test:unit":"npm run unit && npm run coverage","lint":"eslint ./src","coverage":"nyc --check-coverage true npm run unit","unit":"mocha ---require @babel/register -- tests/*.js","prepublishOnly":"npm run test && npm run build","deploy":"npm publish --access public"},"author":{"name":"Admix","url":"https://www.admix.in/"},"contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"license":"Apache-2.0","homepage":"https://www.admix.in/","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/node":"^7.8.7","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@istanbuljs/nyc-config-babel":"^3.0.0","babel-plugin-istanbul":"^6.0.0","chai":"4.2.0","chai-as-promised":"^7.1.1","chai-bytes":"0.1.2","eslint":"^8.16.0","eslint-config-airbnb-base":"15.0.0","eslint-plugin-import":"2.26.0","mocha":"7.1.1","mocha-bamboo-reporter":"1.1.2","node-rsa":"1.0.8","nyc":"^15.0.1","sinon":"9.0.2","uuid":"7.0.3"},"dependencies":{"jsonwebtoken":"8.5.1","jwt-decode":"2.2.0"},"nyc":{"extends":"@istanbuljs/nyc-config-babel","exclude":["tests"],"branches":90,"lines":90,"functions":90},"types":"./dist/index.d.ts","gitHead":"34fda4464189225abef9ccf60efc479913c842a7","_id":"@admixltd/admix-jwt@3.0.6","_nodeVersion":"16.13.1","_npmVersion":"8.3.0","dist":{"integrity":"sha512-3O3yO3YYvxibQDApt0jvvMkU1ZjxtqdZRPJi2bPuuRJaw33SdilGQ7gwKiox9l3yGi5dbAdWnRROMXlNszSNcw==","shasum":"5ebfe6d654d5ffbb23f90d9ae18f551f5c354582","tarball":"https://registry.npmjs.org/@admixltd/admix-jwt/-/admix-jwt-3.0.6.tgz","fileCount":12,"unpackedSize":152604,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaGMXvt0gPZuZhNoNpGWwix2ieLmRRY9g9vEFlUIifbAIhANGUrskZN6JwsuGOQLJlIl02Ix7B3gyUSSnGDMSE0is8"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijM9MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRKw//aOu5CEJgLrcO7V2FTMvthROiVQ5Ki2fN9Fe08B9dO9cvhP+n\r\nxVc7ucKs1GEzzW5WV0iU6tmkGC3pe1mDUZPYWbllqAX52MImf6zHq1s+KwLp\r\nb/KJwCuj4nqgN+FKcmzX5Uu0bECq/dl4RLeBtloNruDyBAji0xMg3qo07Hk6\r\nOEYC1qVHaEeIdclX402A7xR8pCnRtgZM0DzRh2B8mE0jTVe1AfkU+cvUtK+x\r\nZX4s21/9aFWmHiEGbqDsEuS1ILMNXHSa77zNkVb8IsCP9QhdFEmylb98bNCU\r\nQJA1mNjhBjJgoInqyQozCq1Kh/0jE9qNbnkyWWlnOS2TQ2Lq9HhBS1CZCttK\r\nynaHXT/rg9RNYZucozYYtHWdvIvFC9xlXWcI7YYDHOtWwW845TQg1hpukfJS\r\nOdv8V8ko1h2AwW6KcnNeP6aiSoC8WUlb4gGoP+lOMv2WXknWZYv3fYARWzDN\r\nF48sPyuz7xa977GT03OvV0P3WCXmivnFzaLW2HWOOPewFn1MZjz3DXOWhIel\r\nrILIz/fss57ZpiXbymBLMQNtkzxzHkx3KzRocp+3SzbAHmUqDr/UeDHpuHcm\r\npe9VF1KYtoOwPIcep45XCiS5ijRtEBp3dTU91UuRqkmoyVIJvxKXxh+gKKL9\r\nzV71lLp0Q0ruyWYfR7pup2FlFTGTEb+tLSc=\r\n=cfXc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},"directories":{},"maintainers":[{"name":"cr0wd","email":"freshcrowd@gmail.com"},{"name":"andmev","email":"tuhouc@gmail.com"},{"name":"admix-ksmike","email":"michael.copeland@freakout.tech"},{"name":"manuelcanero","email":"manuel.casancho@admix.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/admix-jwt_3.0.6_1653395276688_0.93896129055195"},"_hasShrinkwrap":false}},"time":{"created":"2020-04-24T11:18:39.989Z","1.9.4":"2020-04-24T11:18:40.367Z","modified":"2023-06-02T14:29:40.655Z","1.9.5":"2020-04-24T11:26:25.962Z","1.9.6":"2020-04-24T11:34:55.584Z","1.9.7":"2020-04-24T11:44:46.641Z","1.9.8":"2020-04-24T11:47:42.850Z","1.9.9":"2020-04-24T12:06:12.813Z","2.0.0":"2020-04-24T13:40:05.872Z","3.0.2":"2022-01-03T09:52:40.280Z","3.0.3":"2022-01-03T13:52:54.238Z","3.0.4":"2022-01-03T14:05:51.321Z","3.0.5":"2022-05-24T09:10:14.412Z","3.0.6":"2022-05-24T12:27:56.917Z"},"maintainers":[{"email":"freshcrowd@gmail.com","name":"cr0wd"},{"email":"michael.copeland@freakout.tech","name":"admix-ksmike"}],"description":"Module to manage JWT claims-based authentication with permissions.","homepage":"https://www.admix.in/","contributors":[{"name":"Michael Copeland","email":"michael.copeland@freakout.tech"}],"author":{"name":"Admix","url":"https://www.admix.in/"},"license":"Apache-2.0","readme":"# Admix-jwt\n\nUse this package for checking a users authentication and authorization in a microservice environment, and to encode their permissions into the JWT. There are 2 classes within this package, `AuthHelper` and `PermissionManager`.\n\nExceptions are thrown using the `@admixltd/admix-error` error type, with unique error codes:\n\n```\nCode    Class             Function                Description\n------- ----------------- ----------------------- -----------------------------------\n1000100 AuthHelper        processJwt              JWT verification failed\n1000101 AuthHelper        processJwt              UserId doesn't match and no permission to override\n1000102 AuthHelper        processJwt              No userId in token\n1000103 VerifyJson        VerifyJson              Service [${key}] has no numeric service index\n1000104 VerifyJson        VerifyJson              Service [${key}] has an index greater than the number of services\n1000105 VerifyJson        VerifyJson              Service index [${serviceNum}] exists twice (extra time in [${key}])\n1000106 VerifyJson        VerifyJson              Value [${value}] of Key [${permissionKey}] in Service [${serviceNum}] is not Base2\n1000107 VerifyJson        VerifyJson              Value [${value}] of Key [${permissionKey}] in Service [${serviceNum}] exists twice\n1000108 PermissionManager constructor             No config file supplied\n1000109 PermissionManager addPermission           Service doesn't match global permissions object\n1000110 PermissionManager removePermission        Service doesn't match global permissions object\n1000111 PermissionManager checkPermission         Service doesn't match global permissions object\n1000112 PermissionManager static checkPermission  Service doesn't match global permissions object\n1000113 AuthHelper        processJwt              Invalid Jwt format\n1000114 AuthHelper        constructor             Invalid public key format\n```\n\n## Requirements\n\n* Nodejs >= 8.10\n\n## Permission Structures\n\nThe JWT itself defines whether a user is authenticated, and a specific object structure is used to manage permissions. This has been designed to encode full permissions into the JWT in a minimal amount of space, and allow the consuming microservice to check permissions without a call to a central service, reducing processing time and direct runtime dependency.\n\nPermissions are detailed as an object with the following format:\n```\n{\n  \"genin\": {\n    \"service\": 0,\n    \"dRankMission\": 1,\n    \"cRankMission\": 2\n  },\n  \"chunin\": {\n    \"service\": 1,\n    \"bRankMission\": 1,\n    \"aRankMission\": 2\n  },\n  \"jonin\": {\n    \"service\": 2,\n    \"sRankMission\": 1,\n    \"potentialKage\": 2\n  }\n}\n```\nTop level objects are individual services, and each must contain a `service` property with a numeric index. These must be 0 based, unique and no higher than the number of objects-1.\n\nWithin each object are permission properties, which are base2 numbers.\n\nThis object structure is passed into the `PermissionManager` class as a JSON string and validated for correct structure. It is recommended that the JSON is stored in the authentication and authorization service (that generates the JWTs) and validated as part of the build step.\n\nThe permissions a user has can he held in a `UInt8Array` which base64 encodes to an extremely short string to be put into the JWT.\n\n### Limitations\n\nAs the `UInt8Array` can only store 8 bits per service, there can only be 8 permissions per service. Any services needing more permissions will need to be split over 2 'virtual' services.\n\n## AuthHelper\n\n`AuthHelper` is to be used in microservices to verify if the user has a valid authentication and authorization.\n\n### Methods\n\n`constructor(rawJwt, publicKey, service, overrideAccessPermission)`\n\nInstantiates the helper object with raw information needed.\n   * @param {string} rawJwt Raw Authorization header, including Bearer.\n   * @param {string} publicKey Public key to verify signature of the JWT. Raw string or base64 encoded.\n   * @param {object} service Service from global permissions object [optional].\n   * @param {object} overrideAccessPermission Permission from global permissions in\n      service that allows a user to retrieve another user's details [optional].\n\n`processJwt(userId)`\n\nValidates the JWT for structure and signature.\n   * @param {string} userId UserId to test against the JWT. Allows me to delegate `userId` to JWT, when a different `userId` is provided then a permission check is made using the `service` and `overrideAccesspermission` specified in the constructor.\n   * @param {boolean} returnPayload. default to false. Sets payload after error when set to true if error was `jwt expired`\n   * @returns {Promise<string>} Promise which resolves to the userId.\n\n`userCan(permissionClass, permission)`\n\nChecks whether the user has the required permission.\n   * @param {string} permissionClass The class or service.\n   * @param {string} permission The permission.\n   * @returns {Promise<boolean>} Promise which resolves to true or false.\n\n## PermissionManager\n\n`PermissionManager` is to be used in microservices to verify if the user has a valid authentication and authorization.\n\n### Methods\n\n`constructor(globalJSON, permsIn = undefined)`\n\nCreates permission object ready to manage.\n   * @param  {string} globalJSON JSON-encoded list of global services and permissions.\n   * @param  {string} permsIn Base64-encoded existing permissions (optional).\n\n`addPermission(serviceIndex, perm)`\n\nAdds a permimssion into the internal permission object.\n   * @param  {number} serviceIndex Index of the service in the global permissions object.\n   * @param  {number} perm Value of the permission to add.\n\n`removePermission(serviceIndex, perm)`\n\nRemoves a permimssion from the internal permission object.\n   * @param  {number} serviceIndex Index of the service in the global permissions object.\n   * @param  {number} perm Value of the permission to remove.\n\n`toString()`\n\nReturns a base64 version of the permissions array to be stored in a JWT.\n   * @returns {string} Base64 encoded version of the array.\n\n`listPermissions()`\n\nReturns an array of permissions set for the current object.\n   * @returns {object} Array of strings in the form [service].[permission].\n\n`checkPermission(serviceIndex, permission)`\n\nChecks the permission is included in the current permissions object.\n   * @param  {number} serviceIndex.\n   * @param  {number} permission.\n   * @returns {boolean} Whether the permission is included.\n\n`static checkPermissions(encodedPermissions, serviceIndex, permission)`\n\nChecks the permission is included in the supplied encoded permissions object.\n   * @param  {string} encodedPermissions Base64 encoded permission array.\n   * @param  {number} serviceIndex Index of the service in the global permissions object.\n   * @param  {number} permission Value of the permission to check.\n   * @returns {boolean} Whether the permission is included.\n","readmeFilename":"README.md"}