{"_id":"@autotelic/fastify-hmac","_rev":"6-1b31dfacb03618d1ebd68463e02889e8","name":"@autotelic/fastify-hmac","dist-tags":{"latest":"0.3.0"},"versions":{"0.0.1":{"name":"@autotelic/fastify-hmac","version":"0.0.1","description":"HMAC signature verification for fastify","main":"index.js","scripts":{"test":"tap -R classic -j1","example":"fastify start example.js"},"repository":{"type":"git","url":"git+https://github.com/autotelic/fastify-hmac.git"},"keywords":["fastify","hmac","security"],"author":{"name":"Autotelic Development Ltd","email":"info@autotelic.com"},"license":"MIT","bugs":{"url":"https://github.com/autotelic/fastify-hmac/issues"},"homepage":"https://github.com/autotelic/fastify-hmac#readme","dependencies":{"fastify-plugin":"^2.1.1","http-errors":"^1.8.0"},"devDependencies":{"fastify":"^3.1.1","fastify-cli":"^2.0.2","standard":"^14.3.4","tap":"^14.10.8"},"gitHead":"6bc33527ea1ef1c1e0003287a56e938e4bd38155","_id":"@autotelic/fastify-hmac@0.0.1","_nodeVersion":"12.14.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-muW2T/ZNCugTq0b1FIUva+51Brf5ckarB2EUnrRMN0dSAeKvX1VBcpucJooeXkQH8zjc67cmT2exwroXqHfcXw==","shasum":"3c8f6a88c8f1d60d9516521c37f0ae36c6da6c33","tarball":"https://registry.npmjs.org/@autotelic/fastify-hmac/-/fastify-hmac-0.0.1.tgz","fileCount":14,"unpackedSize":11890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNHm+CRA9TVsSAnZWagAAAqgP/3suPBKqtJS/beSj5FXs\nyX17y5zxyEuSoG1sc9vNuGjJJugznHg0w9t3iPxj/og/1NCh9cF2kouXFVpX\nqyRS3GlTTi9U80vga+ZtonRt0SJWXxr6rFP3wQ0sOrYBqnBl1DDIBeBfQbvC\nrwhVzoNfejGqCK+FZqtPWSLavO7pWr3NFKH4v9e4yMVGZZe3898umVYq+sZ1\n2mMIqm6bCDjvoyKLbCYE9clFkYnCS8F5BLQVGhdIvssSWnEwwpZSBNd82Re2\n4mkhpnDrWJ58wmrRqN3GWxllL2Gcp2VkThossysDdBW1k0lCVC/0uANk5vXW\nJDKE9m/mZVjKNkBPw1A9YXaSsDJXEzCAD8+PPL/KYOvalHFFbLslnVVHIZ1f\n5GZaSSS17wwqfezSCVgbxDXOyJLm0kZqqdj8hAzZcXXpM9wpuqE7kFUsn523\nSlXfOdQKrWoVUGZfbe0SD6gqhUZPZRp6MGxbO1Z3hoxO28qsdVU/6qLpC3P1\n9w1sLs0CkeT7TESxQCADk5yTGm7BK93imeLWD4CuYqX4T4xluMIrqu9dihc5\nSSdeZNixFFQvnHbZ9jsOKpINnWBJ2SiRW0sWJgQ/FjvWpPl8s8/bEXQqKUQ3\nEkNe8MHzuevBmdN0Aj/4XI1nQv5K5UnUwiyC4osPAiJ7TPT5zTBRZwyV0eFl\nfoCd\r\n=QTMM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcMjZXnIH1zb60zWfjxZaExXWSCwjW9JLyL9xYIC3pOgIgAQ/PH0OtMV8W+QTeaIPxhlyAFwvGlbDigctSaWdG1DY="}]},"maintainers":[{"name":"autotelic","email":"info+npm@autotelic.com"}],"_npmUser":{"name":"autotelic","email":"info+npm@autotelic.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fastify-hmac_0.0.1_1597274557470_0.02222045571339848"},"_hasShrinkwrap":false},"0.0.2":{"name":"@autotelic/fastify-hmac","version":"0.0.2","description":"HMAC signature verification for fastify","main":"index.js","scripts":{"test":"tap -R classic -j1","example":"fastify start example.js"},"repository":{"type":"git","url":"git+https://github.com/autotelic/fastify-hmac.git"},"keywords":["fastify","hmac","security"],"author":{"name":"Autotelic Development Ltd","email":"info@autotelic.com"},"license":"MIT","bugs":{"url":"https://github.com/autotelic/fastify-hmac/issues"},"homepage":"https://github.com/autotelic/fastify-hmac#readme","dependencies":{"fastify-plugin":"^2.1.1","http-errors":"^1.8.0"},"devDependencies":{"fastify":"^3.1.1","fastify-cli":"^2.0.2","standard":"^14.3.4","tap":"^14.10.8"},"gitHead":"36912619fc6ba96a6104b122ea29c87b013d0db4","_id":"@autotelic/fastify-hmac@0.0.2","_nodeVersion":"12.14.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-tCqxLaByektAgGO2pZmQqMIaguvPaTysH+U0BaCdA5wW64wShKTGOBq/38ydLl/Jq5Ccx6A5o8kx07+jN9b96Q==","shasum":"3c270fd94eba4965f5588548765203d2eee34dcf","tarball":"https://registry.npmjs.org/@autotelic/fastify-hmac/-/fastify-hmac-0.0.2.tgz","fileCount":14,"unpackedSize":11976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNY8ACRA9TVsSAnZWagAAMk0P/2oYyWgVA7ovxCtiyBVs\ncYeR5T9paujKtsV5AsJdz0J7PiK4dIrssAsLQuffd1y2nQuXgUMC765DYbY7\nW5EVU/3YiwxscLIaMbYCPxnKSndIZGtr/hERJQIRYn9YSUGwdKNj6z4d0wzq\nwAPdiUWifLWEycf1Lu3pIfnNQWB9TAJI4ZCeSa/lQc+mfVvCryhcuFcIRNPU\niH7WFZhKvRzKgmyAkKBDiBhTgPlGC5sQAam/cq3N0pZOZ7VSNR3An6Mx2wQc\nJOE+JGlB0C9NV8MB90NvM/iQJEBoMjI/zHwzlo+EADd7EfYaYXwGj9CD49c1\nBZlfTtGgwGktPABOiQQu+nMeNmwg7l86n1QOrs+RRxPZPnuYorh62CW4duVR\nhXyOwqqFiwJhP3Hyb6IChlpEj6bI1faxN6gZOkdEZnk+ZrmHYez0wWets/GE\nLoMWN5Nl5OFoz7/qbYl/JdiNj6lmNTS+ySaTs/WG3ue45CTbziflpkUodwFN\n1cMwRnXS+a/g2GPt3BJgum335JCH01TgdVcWjb6xNY4BdVDrMrYUNTgdOF9P\nzLtpdZdhfBjpuOa4xvof5aqCntvvb8D9f0bmk1nB4S+QpBZzDrT+zoGLSiAz\n9tEvbOrd9vBlsrMZ4thFlKX3aztl1wLHOhfuh9MpOe3KXo6uUVtCfdvJpG4B\nPvkD\r\n=6aPa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHdWqL0a7f16BDlEAumOLbseTKvqZTS0+XmcvilZZVBbAiEA3qeunU7ekvKTrONALpD+KaqHKHb54wC6L+Xf9HG5X0s="}]},"maintainers":[{"name":"autotelic","email":"info+npm@autotelic.com"}],"_npmUser":{"name":"autotelic","email":"info+npm@autotelic.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fastify-hmac_0.0.2_1597345535559_0.45790378585029035"},"_hasShrinkwrap":false},"0.1.0":{"name":"@autotelic/fastify-hmac","version":"0.1.0","description":"HMAC signature verification for fastify","main":"index.js","scripts":{"test":"tap -R classic -j1","example:hook":"fastify start examples/exampleHook.js","example:decorator":"fastify start examples/exampleDecorator.js","example:shopify":"fastify start examples/exampleShopify.js","lint":"standard","fix":"standard --fix"},"repository":{"type":"git","url":"git+https://github.com/autotelic/fastify-hmac.git"},"keywords":["fastify","hmac","security"],"author":{"name":"Autotelic Development Ltd","email":"info@autotelic.com"},"license":"MIT","bugs":{"url":"https://github.com/autotelic/fastify-hmac/issues"},"homepage":"https://github.com/autotelic/fastify-hmac#readme","dependencies":{"fastify-plugin":"^2.1.1","http-errors":"^1.8.0"},"devDependencies":{"fastify":"^3.1.1","fastify-cli":"^2.0.2","husky":"^4.2.5","lint-staged":"^10.2.13","standard":"^14.3.4","tap":"^14.10.8"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.js":"npm run fix"},"gitHead":"e12dff75c4001784245e0db68ca2522e4a91f756","_id":"@autotelic/fastify-hmac@0.1.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-SggSOZESOue8jnUYn6/SJOPNrN5V9lonih+guWgtm0U9Wlyd16vpWnOQ0itsYxwchRSf4CeUhedI8x+uKpdVlA==","shasum":"986104971087bb563bdb4d162ac38a34d52f1208","tarball":"https://registry.npmjs.org/@autotelic/fastify-hmac/-/fastify-hmac-0.1.0.tgz","fileCount":24,"unpackedSize":37195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWmC2CRA9TVsSAnZWagAAsB0P/Rm2Xztq0DI4FpBd8Z8p\nbt7xOdmtW6z7AfcfbqbN2Mi7XNHhdwSYDRyloKxtRDI7EBLvAXmJ+wmtLY7h\nhVeUWuNCph19KWeRpOSaDyKEQC3WegRW/FwM/9mFYecnLMkUmv/in4nEzj01\ndJ30PpwuoVVfeVkAWkAKo3nkU5/1/BKS/s/qpKgcrz62UwkiYJ6NopHtonPI\nmo2HmRYjuUROEv0Hm4o1nadBwzG79xmzPrs50LUhiEXEHoY2fIYPg906ahIL\nfhjAMSqTrpCCSl6njbDdEIOlipMa9lf3BMHAbuCz6SyliVqXhGHytmiisITf\njMVwApvRsnwKzM7Cmj1alTVVg08PdbejIxiy8Srkr749AURi4K2jesoYgXz1\ncguKSXI9GdrqOWOSjzE9qYvA8HOVP5GHOCxOyzxdYLrFQ5p96uk0lXWZXv1F\n3CmoKzkD/kBkXeVSKeZWc95X1/hOd9XAn16q1iczzYqBai2THSV0+M95CNuP\nH3l9Tv49oMPu9KJXk4ovJOjybZAa/FeHB++U6uYhy4ECVCc9zLo+oWgKOHYB\nblkViV9czKY2PiMCAee+6rGcStZJakQy/8p5M/UslgAyCeNEwcYbCBpRF4TH\njX0Nubj563Z6GykHBJaYRiHZ4R5RNeGxdkTPsLdbXTdmfH6bFU03Q9RVLtJs\nBw0N\r\n=mp1R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEDtDiolDHiwil1qByaPmxE4GxdDfqbisIAG/0e+wzFgIgT+Un+EcukItvAjJSrORFS0mJSd3cSW8punLrdn7Jw9A="}]},"maintainers":[{"name":"autotelic","email":"info+npm@autotelic.com"}],"_npmUser":{"name":"autotelic","email":"info+npm@autotelic.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fastify-hmac_0.1.0_1599758517974_0.45632252128113104"},"_hasShrinkwrap":false},"0.2.0":{"name":"@autotelic/fastify-hmac","version":"0.2.0","description":"HMAC signature verification for fastify","main":"index.js","scripts":{"test":"tap -R classic -j1","example:basic":"fastify start examples/basic.js","example:shopify":"fastify start examples/shopify.js","lint":"standard","fix":"standard --fix"},"repository":{"type":"git","url":"git+https://github.com/autotelic/fastify-hmac.git"},"keywords":["fastify","hmac","security"],"author":{"name":"Autotelic Development Ltd","email":"info@autotelic.com"},"license":"MIT","bugs":{"url":"https://github.com/autotelic/fastify-hmac/issues"},"homepage":"https://github.com/autotelic/fastify-hmac#readme","dependencies":{"fastify-plugin":"^2.1.1","http-errors":"^1.8.0"},"devDependencies":{"fastify":"^3.1.1","fastify-cli":"^2.0.2","husky":"^4.2.5","lint-staged":"^10.2.13","standard":"^14.3.4","tap":"^14.10.8"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.js":"npm run fix"},"gitHead":"46f0b05e15a1ecb86687379e52c327e7b0310706","_id":"@autotelic/fastify-hmac@0.2.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ct3knUGcwF6jtt5+3zH5oP5z7YAzaURJMv+qi2JzrdAexE1AO1cyzrJje7aEIYR2zlTxkUszWMsgCCcc0qMKQQ==","shasum":"e978cdde900c51c04677b278eb48a1e4a107888b","tarball":"https://registry.npmjs.org/@autotelic/fastify-hmac/-/fastify-hmac-0.2.0.tgz","fileCount":21,"unpackedSize":29492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYS2TCRA9TVsSAnZWagAA+wEQAIv27kj3plLB1O3gef69\nn9SoDabXrlj+WlOlNYNIQTV4YAts2ka6O0rAL4+ktBR0eiFeFKBlfLXlpJUL\nI1LHpNz7JvkAi/TcMcoRvtgQAIE3sNdcMcVJQsdPWsPRL1EGdgWlvO6ch2u7\nBaF1VLmVrz5mCGbDEKDnB4sym4CIxjDLQgu0qkAc1ckAaUqIny0cbhblJp//\nJYcM0EN4PUnZ7l3mxXm2BPuN6sHmFOdFx+UoSW5cpUU4jjvvC+0+263iAr5S\nrR8RgyTzcHJ+9K/1V3T7n9o53a3P3tImNDO068mv1SxuJwQOfEr8v6peWaJu\nh+YtigLUnDBLaTbugF6nHWF973/i6BQnch9I0Mo1mGPDFrIfbfXoA6TIVmh5\n2eBYd4k4IB93Oic3MTdohThF7bGPbJRioIvfScTX1YDlSMd1geBnAUPc1Oz4\nk9areWDehCQHFlHo4oBVEoEXgKU3j4TBFfLqtAYaIjGMBXfSFkdY3GoohOwN\nRhsf5HljMnZq10XSyMmO8hyEqbcPUTrYHYkVKmPYi2rzH6vbnyQx57APEcpv\n7WjzXic8uQAX7xjPpgg1qGcODs7O2Q7GBRZcbMhQDQ+lWTDwwT4sr6qpu0Zp\n/UL2xK08SLgyXn6+b7X5/G4ddVsUVukx0Nbj+NdmcXCPYsDcLgLwjsJIlWIc\nGSRz\r\n=qz97\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9dhzLcppLhNtwra7PgGBMDhGF4rVz671K0QRHN08fbgIhAKUdK+kE3mm/WPQ7ErS8NHhQqYLC6l2ALrST3cIKifOn"}]},"maintainers":[{"name":"autotelic","email":"info+npm@autotelic.com"}],"_npmUser":{"name":"autotelic","email":"info+npm@autotelic.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fastify-hmac_0.2.0_1600204178944_0.28613529183791386"},"_hasShrinkwrap":false},"0.2.1":{"name":"@autotelic/fastify-hmac","version":"0.2.1","description":"HMAC signature verification for fastify","main":"index.js","scripts":{"test":"tap -R classic -j1","example:basic":"fastify start examples/basic.js","example:shopify":"fastify start examples/shopify.js","lint":"standard","fix":"standard --fix"},"repository":{"type":"git","url":"git+https://github.com/autotelic/fastify-hmac.git"},"keywords":["fastify","hmac","security"],"author":{"name":"Autotelic Development Ltd","email":"info@autotelic.com"},"license":"MIT","bugs":{"url":"https://github.com/autotelic/fastify-hmac/issues"},"homepage":"https://github.com/autotelic/fastify-hmac#readme","dependencies":{"fastify-plugin":"^2.1.1","http-errors":"^1.8.0"},"devDependencies":{"fastify":"^3.1.1","fastify-cli":"^2.0.2","husky":"^4.2.5","lint-staged":"^10.2.13","standard":"^14.3.4","tap":"^14.10.8"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.js":"npm run fix"},"gitHead":"5c482deb820a1271d46df7be8c8ec3459353cb3f","_id":"@autotelic/fastify-hmac@0.2.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-aRnhVi4PfxH05Zfd9XRfOowOPc8+ufDSQ+mR9a2KWu2fRm/OqEnFCK8hBJ0PoAXcmIPw5H4HEYzowUgF5KkFKg==","shasum":"f074db71d6817d4a49abd5caa9459dd3470028bd","tarball":"https://registry.npmjs.org/@autotelic/fastify-hmac/-/fastify-hmac-0.2.1.tgz","fileCount":11,"unpackedSize":12838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYT4TCRA9TVsSAnZWagAAtiwP/2urQQSVqcP2QsiOUgy1\nsFnJPsx0/wuw9wzEMF833k6vJREnSsE7C2iuoA4r0pf/X1IdiLnyk+gNrGWh\nX5XExveqPvYruhNn2bArsV6joRj61d1whD7GwcK6M0KmOBcbReAbT1icCdf1\nm2qZO7+CZvtmZcasDSjL7j4yuSFSwkJa/Y7eC93JW3FThwiPFMOo6M+5+omS\nxusNta7aKr4PKAyt5zJc4kiC4gj2GAYZx2btFVyWrR7YZK06Qs6sKHLuXc9f\nocdu4lumJvXb5sHwQrcINgmHxqwkkdhEhjplqR8PPUMU6ShgNTJXj6Tf/MMD\nCsG8LaPA/fgVAiLTrlq6Bge87lXsLBP9mFGuavcCEUqoEV3JNDFk09wnergU\nW4i1cu2yn4fv7gMwCnYt//n02RaVtEp9JcEzQI+xBJSCd7U3iDlGYsVqQZL5\nqdB6NLrKB+PButexX6qkh2G7Opt+NQ7ZKjA6bsJjeBwLLyTfyHJAHEk+YENO\nsuAXomvQlCx7amIxTMuEZbAwloyUUHjlApCHt/AItSmtbj3KnbdfYLt9tF5C\n1sl6Ha1R2LL+CldlJ37H1xBk+dXi1/6+M2lRL2Gnh66uIktEBxjCzEpW2tSZ\niqDcDLhkjQ86IMAVg6+YZLAiVUuiyS4gfBJmwYQlpnjRFcbrybu8W+W/9UkD\nYQil\r\n=k/y/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBW8NrkmRT8lxEk9Dvimxx+igwQZeUMZQ96F8/D4dA5TAiAqUx1OD02QIcpwOGQ368afMGf1/VmlSOynOXy8pbiCEw=="}]},"maintainers":[{"name":"autotelic","email":"info+npm@autotelic.com"}],"_npmUser":{"name":"autotelic","email":"info+npm@autotelic.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fastify-hmac_0.2.1_1600208402485_0.6127070410610782"},"_hasShrinkwrap":false},"0.3.0":{"name":"@autotelic/fastify-hmac","version":"0.3.0","description":"HMAC signature verification for fastify","main":"index.js","scripts":{"test":"tap -R classic -j1","example:basic":"fastify start examples/basic.js","example:shopify":"fastify start examples/shopify.js","lint":"standard","fix":"standard --fix"},"repository":{"type":"git","url":"git+https://github.com/autotelic/fastify-hmac.git"},"keywords":["fastify","hmac","security"],"author":{"name":"Autotelic Development Ltd","email":"info@autotelic.com"},"license":"MIT","bugs":{"url":"https://github.com/autotelic/fastify-hmac/issues"},"homepage":"https://github.com/autotelic/fastify-hmac#readme","dependencies":{"fastify-plugin":"^2.1.1","http-errors":"^1.8.0"},"devDependencies":{"fastify":"^3.1.1","fastify-cli":"^2.0.2","husky":"^4.2.5","lint-staged":"^10.2.13","standard":"^14.3.4","tap":"^14.10.8"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.js":"npm run fix"},"_id":"@autotelic/fastify-hmac@0.3.0","gitHead":"018d51d95073ab756b0c1857631323a318e6cfc9","types":"./index.d.ts","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-UEFBu/wl+5CHUUN6/J3rIQudSxiG+hkC3IkgxVA9rq71HoUTlwD0Kjq5GquNlZYdSzqT0Do5RGdXW+inuj3fMg==","shasum":"82fe3bfec4ff7dcb5bc253b2771aff2a2c112b31","tarball":"https://registry.npmjs.org/@autotelic/fastify-hmac/-/fastify-hmac-0.3.0.tgz","fileCount":13,"unpackedSize":13580,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBdBsuv45NsgWU5VF9pAGXnJnpHmWKR9odiSl47aDlgCAiB9+tfkB8ByWLVX240vf4elm3w6Dlr//vL5H9pUDppBjA=="}]},"_npmUser":{"name":"autotelic","email":"info+npm@autotelic.com"},"directories":{},"maintainers":[{"name":"autotelic","email":"info+npm@autotelic.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fastify-hmac_0.3.0_1709920894561_0.8344161570914448"},"_hasShrinkwrap":false}},"time":{"created":"2020-08-12T23:22:37.435Z","0.0.1":"2020-08-12T23:22:37.597Z","modified":"2024-03-08T18:01:35.148Z","0.0.2":"2020-08-13T19:05:35.694Z","0.1.0":"2020-09-10T17:21:58.095Z","0.2.0":"2020-09-15T21:09:39.055Z","0.2.1":"2020-09-15T22:20:02.682Z","0.3.0":"2024-03-08T18:01:34.715Z"},"maintainers":[{"name":"autotelic","email":"info+npm@autotelic.com"}],"description":"HMAC signature verification for fastify","homepage":"https://github.com/autotelic/fastify-hmac#readme","keywords":["fastify","hmac","security"],"repository":{"type":"git","url":"git+https://github.com/autotelic/fastify-hmac.git"},"author":{"name":"Autotelic Development Ltd","email":"info@autotelic.com"},"bugs":{"url":"https://github.com/autotelic/fastify-hmac/issues"},"license":"MIT","readme":"[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/)\n\n<!-- omit in toc -->\n# fastify-hmac\n\nFastify plugin for HMAC signature validation.\n\n### How it works\n\nVerifies that http messages are signed according to [IETF draft standards][1].\n\n## Install\n\n```shell\nnpm i @autotelic/fastify-hmac\n```\n\n## Usage\n\nRegistering the plugin will decorate the `fastify` request instance with a `validateHMAC` method, and add a pre-validation hook to verify the HMAC signature of requests.\n\n```js\nconst hmac = require('@autotelic/fastify-hmac')\n\nasync function app (fastify, options) {\n  fastify.register(hmac, {\n    sharedSecret: 'topSecret',\n    algorithmMap: {\n      hs2019: {\n        'my-key-a': 'sha512',\n        'my-key-b': 'sha256'\n      }\n    }\n  })\n\n  const hmacLogger = (error) => {\n    if (error) {\n      fastify.log.info(error.message)\n    } else {\n      fastify.log.info('HMAC Validated.')\n    }\n  }\n\n  fastify.get('/foo', async (request, reply) => {\n    request.validateHMAC(hmacLogger)\n    reply.send({ foo: 'bar' })\n  })\n}\n\nmodule.exports = app\n```\n\n## API\n\n### `PluginOpts` : `Object`\n##### Properties\n| Name | Type | Description |\n|------|------|-------------|\n| `sharedSecret` | `string` | Secret used by client to generate signatures. (*required*) |\n| `algorithmMap` | `{ [algorithm]: { [keyId]: string } }` | Maps the `Signature` header `algorithm` and `keyId` properties to a specific algorithm. (*required, unless providing `getAlgorithm`*) |\n| `verificationError` | `(string) => Error` | Receives the original error message and returns a new error. By default, all errors returned are generic `Unauthenticated` http errors. This is to prevent sending sensitive error data to the client. (*optional*) |\n| `digestEncoding` | `string` |Defaults to `'base64'`. (*optional*) |\n| `getDigest` | `(FastifyRequest, PluginOpts) => string` | Calculates and verifies a message `Digest` header to be used as input to the HMAC signature. (*optional*) |\n| `extractSignature` | `(FastifyRequest, PluginOpts) => string` | Extracts properties from the `Signature` Header constructed according to [IETF draft standards][1]. (*optional*) |\n| `constructSignatureString` | `(FastifyRequest, PluginOpts) => string` | Constructs a signature digest string from the key material detailed in the `Signature` header according to [IETF draft standards][1]. (*optional*) |\n| `getAlgorithm` | `(FastifyRequest, PluginOpts) => string` | Returns an HMAC algorithm. By default this will use the `keyId` and `algorithm` values from the `Signature` header, to pull the appropriate value from the `algorithmMap`. (*optional*) |\n| `getSignatureEncoding` | `(FastifyRequest, PluginOpts) => string` | Returns the encoding to be used during HMAC signature construction. (*optional - defaults to `() => 'base64'`*) |\n| `validateRequests` | `boolean` | If `true` will add a `preValidation` hook to validate HMAC signatures. (*optional - defaults to `true`*) |\n\n### `validateHMAC`: `Function`\n##### Arguments\n| Name | Type | Description |\n|------|------|-------------|\n| `callback` | `(Error?) => any` | Called with no args when HMAC validation is successful, and called with the error on failure. (*optional*) |\n\n##### Return\nIf no callback is provided the `validateHMAC` request decorator will return `true` if HMAC validation is successful, and will return an `Error` if HMAC validation fails (*the `Error` wil be returned, not thrown*).\n\n## Examples:\n\n#### [Basic](./examples/basic.js)\n\n```sh\nnpm run example:basic\n```\n\n#### [Shopify](./examples/shopify.js)\n\n```sh\nnpm run example:shopify\n```\n\n### License\n\nMIT\n\n[1]: https://datatracker.ietf.org/doc/draft-ietf-httpbis-message-signatures/\n","readmeFilename":"README.md"}