{"_id":"kolbeinsson88-jwt","_rev":"29-4ef8d6683e056a5f125576b0ae33e12b","time":{"0.0.1":"2021-01-04T08:39:13.572Z","0.0.2":"2021-01-04T08:39:13.572Z","0.0.3":"2021-01-04T08:39:13.572Z","0.0.4":"2021-01-04T08:39:13.572Z","0.0.5":"2021-01-04T08:39:13.572Z","0.0.6":"2021-01-04T08:39:13.572Z","0.0.8":"2021-01-04T08:39:13.572Z","1.0.1":"2021-01-04T08:39:13.572Z","1.0.2":"2021-01-04T08:39:13.572Z","1.0.3":"2021-01-04T08:39:13.572Z","1.0.4":"2021-01-04T08:39:13.572Z","1.0.5":"2021-01-04T08:39:13.572Z","1.0.6":"2021-01-04T08:39:13.572Z","1.0.7":"2021-01-04T08:39:13.572Z","1.0.8":"2021-01-04T08:39:13.572Z","1.0.9":"2021-01-04T08:39:13.572Z","1.1.0":"2021-01-04T08:39:13.572Z","1.1.1":"2021-01-04T08:39:13.572Z","1.1.2":"2021-01-04T08:39:13.572Z","1.1.3":"2021-01-04T08:39:13.572Z","1.1.4":"2021-01-04T08:39:13.572Z","2.0.0":"2021-01-04T08:39:13.572Z","created":"2021-01-05T09:29:13.390Z","1.0.0":"2021-01-05T09:29:13.495Z","modified":"2022-05-07T11:18:46.384Z","2.0.1":"2021-01-07T01:14:17.788Z","2.0.2":"2021-01-16T18:10:46.493Z","2.0.3":"2021-01-16T18:15:09.991Z"},"name":"kolbeinsson88-jwt","dist-tags":{"latest":"2.0.3"},"versions":{"1.0.0":{"name":"kolbeinsson88-jwt","version":"1.0.0","description":"Package for creating, decoding and verifying JSON Web Tokens (JWT).","main":"bundle.cjs.js","module":"bundle.esm.js","keywords":["javascript","js","token","jwt","JSON Web Token"],"devDependencies":{"rollup":"^1.31.0","rollup-plugin-uglify":"^6.0.4"},"scripts":{"build":"rollup -c"},"author":{"name":"kolbeinsson"},"license":"ISC","gitHead":"c69ac87267d591bcbb13b5da5dc99830fd72ffec","_id":"kolbeinsson88-jwt@1.0.0","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-5+qEy7ilTTKAhPTjhfZXYnrXMywpMfXEYbdBqRuQ0GPvJ6rVTZpKKZVND3rcSJBfQO6w3CBhzgIoMg2PygESGg==","shasum":"730d7b5d44c71aaee510977a5e8399ce3c166e07","tarball":"https://registry.npmjs.org/kolbeinsson88-jwt/-/kolbeinsson88-jwt-1.0.0.tgz","fileCount":5,"unpackedSize":14764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9DFpCRA9TVsSAnZWagAAVJYP/0vfizO59rDDe7vs9F7i\n9VrIzpz1JEfeNI+LHKuhj3CdXdjcje0HuKyYRYu0bjBtksB5Atj6nKpFlTWT\n2DSabvZD5ABTYtUcV19hcmmAp2PnsPHJlU2uC8UJSGNyRoAhUaFrriVZYm6g\n2sOIsWCMUVMEUzCzO9Jg3GqDY9i3XnialPOH4Wcbbp5oYjoYeTOAqsQMBKy5\nn2bVsFIIX74Nlble6vIZ3oCgOuYp7oBtD9DAKwiHZLYtOycxLDVCmqaphNOF\nK9Y/Q2OurdrEv6SCNflJemdG/oH6t95lY4rrgkBh3AFd08+afRo3v4tdV/7v\nbQuNonLhnrrycHkWJZRBL20jeLBhptmJexPlSyaUk44cjTp+mPeFEQHcYCnO\nVRyD8TjQsMLwPfEI/lL1U11E1yIGo7/N9M3E6UoOLsO7ZML3XSM2KPmK7/iX\ntUNNDGZX+fyed6eIYTIddUNnzggGsb4XaFSI6mpvXTyu/Kv+6kDDUg5utwW9\n81/2Sf76VazpNd6CyBLcuDDQf1klCRGKWoufCsxd4AVGUgbXc4kWkXImdbck\n9TYTVjDEMjupGldvHvSm72FPVN/6dgK1ludRW8oy4IY6kCxvtT+/OHgPxoux\nqAbVK8WhaSeVNCKKDOwCrTHdpdhTMRIGeRnr+YJWRbdG/g2pVKusGTRsEZcf\nh/kg\r\n=Bqiv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGMSjTkSZjmJUp+0Rq/JrJfLklZtCbqgF7A2VXIFeVaXAiAI7+RsKbW5Z6Y3IhOB6PmEsPuhd7APRpQmvjias1E9Wg=="}]},"_npmUser":{"name":"kolbeinsson88","email":"kolbeinsson88@gmail.com"},"directories":{},"maintainers":[{"name":"kolbeinsson88","email":"kolbeinsson88@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kolbeinsson88-jwt_1.0.0_1609838953390_0.6936243475137982"},"_hasShrinkwrap":false},"2.0.1":{"name":"kolbeinsson88-jwt","version":"2.0.1","description":"Package for creating, decoding and verifying JSON Web Tokens (JWT).","main":"bundle.cjs.js","module":"bundle.esm.js","keywords":["javascript","js","token","jwt","JSON Web Token"],"devDependencies":{"rollup":"^1.31.0","rollup-plugin-uglify":"^6.0.4"},"scripts":{"build":"rollup -c"},"author":{"name":"kolbeinsson"},"license":"ISC","gitHead":"c69ac87267d591bcbb13b5da5dc99830fd72ffec","_id":"kolbeinsson88-jwt@2.0.1","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ej63LRasQaWDUnK/h22y1bf4tee9XS4se1nlXaFj+9nY+BQMMotf/U8FwXo4LTdDGDpwh81/TCSPe+w2uSPjLg==","shasum":"dc64b6623b7041fd7d36d3f6cee8dd0acf124251","tarball":"https://registry.npmjs.org/kolbeinsson88-jwt/-/kolbeinsson88-jwt-2.0.1.tgz","fileCount":5,"unpackedSize":14764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9mBqCRA9TVsSAnZWagAABDQP/3IpvWeGQiSQ19SA+0aK\nQgJqt/PFlHNiXF5O0LP04HYwDE9tBAy+3CY0JqrP97xQP2mgsQAPJrFCQK6W\nhX8v88kGkq42p9n3fKIRxCZzwyDxPuCf5nRzMLJMgi9u4UrDN6gF4mwzoKj6\nwpeiNREbs9eiudT487oRziFFVp3NEwzxoaFOaCO/OGKHfoQ1h6pTDDFCsR5S\nxE0whR0+g20WLRSLsBm27XKoSx2MQyueBBnwXLCp5qYz5K3LuVmFuxaJF7lY\nuhX7lJ9TchVqU2tKYIavxT+0egm2z8HRvW8LkzKOb23qvxnN5NDuZkOYA+KD\n37bgfC7dJ7rXpTp5G2vkwV4xAgShV8dHU8TKXXcqeuobtauSQZw1DIMi/3XI\nozO7iItkfAYHdgt4MVAgzky00Jbp0Y1j+H2fb4snHthJ6mdpqJoVFkuPnMBY\nI+AJ/SKfhbw9fLwthBXL7ZfobQJENEZDPJbHsd20AdSwp6MlEQkiwort/yC5\nIi1+h/1NSTw+xXV7pe2sIbwKotmjYgoX8EbsH5NisJPD++4Ff5X60ZfqrvqZ\nfKy1c7PE1Lnnsc3EOm6c2dGaVEKrxCZerGIyOx6WFzcMoHCuumtZrVHx+IvG\nvS91RMXpPIkHE6ld9SWW3IHBdnOeqZRtczROS2XdpwBm+k1/Ofj4jZMFHtH/\nTEP0\r\n=pHF5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDqGmjiQc96A1nsYkKcDeQe4XNsFRhpK295n+RIh9fhmAiEAsUeL+hhne2Adkv+jVqIWv2bGRw77Y45XgGAXuTR+LVU="}]},"_npmUser":{"name":"kolbeinsson88","email":"kolbeinsson88@gmail.com"},"directories":{},"maintainers":[{"name":"kolbeinsson88","email":"kolbeinsson88@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kolbeinsson88-jwt_2.0.1_1609982057650_0.11627492477298751"},"_hasShrinkwrap":false},"2.0.2":{"name":"kolbeinsson88-jwt","version":"2.0.2","description":"Package for creating, decoding and verifying JSON Web Tokens (JWT).","main":"bundle.cjs.js","module":"bundle.esm.js","keywords":["javascript","js","token","jwt","JSON Web Token"],"devDependencies":{"rollup":"^1.31.0","rollup-plugin-uglify":"^6.0.4"},"scripts":{"build":"rollup -c"},"author":{"name":"kolbeinsson"},"license":"ISC","gitHead":"440a0ddeb1d3d0ee3333054a115f8335f8a96fc1","_id":"kolbeinsson88-jwt@2.0.2","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-3qhvP5AfCjK1hsNhiMB3mzZZraSqAIs1TgsoFwVR/01YYpjpsxQEjTzzBx1Zomlat/No/2cvqUqA4lxR1T1nGQ==","shasum":"db7d66038d674279af2b2d1afd0f14f3d4a92ca3","tarball":"https://registry.npmjs.org/kolbeinsson88-jwt/-/kolbeinsson88-jwt-2.0.2.tgz","fileCount":5,"unpackedSize":14825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAywmCRA9TVsSAnZWagAAKbYP/jSwSIJmKZwFspCL5sDX\n9CRiTpTiavBXaQIyHosGlxHfxINjl8khdNWuiJMXBtnJr9z5FOQZtUpj3HXr\nRT6rhdDpeSwkUdRifAy90WmJtsEPtsc0mXE4SThWFqHnMILKrWA+2l0NaJ8N\nytmapRELclSaGKHzGHQ4Lb85E1amesuR2EzFlIyYJt1l5v2Gq+BZgaLBUIpj\n6sl8monECe43AXCqgxt15qpGeXzk5mcuV4fu+pksAFCA+cewPQ7RLRdKp+96\n4AoX32dtAAYRylBbLqpmXte3rXsnY2WsRnXfyCR6XkU26zSvB+QRXAbgUDQT\n/0lFf1Y8/u/i+NRVqZWPM0z9G/w/xguzGR36Rf3cRJhwNU+LJZPv+MwxOVAP\n+JnDBEEdRZbdOieHG7ptMFGf/Dmd8V7xipIkQKlWhKp/T44DFwYqy39L1lOK\nYx/joc0zpDX5XLDHhIAIydbW92CRGC6dI1lT/AJF6Z6U4fOLCa/yZufIIjGg\nBwImADK4Jwz6xWla3T9ggeXCMI6r2Y9PQUJ8bbszrT7WrkI4eH/eUDSfeTm9\nemd+b8cA+z7XLfArPVpN5IWaIGczFVxsrDo/hrVmfSB1kv2icnY5uAaS2a2E\n8Zct4RJDTasvX/qksnLPA3dRUU8uC7T3MIaTuHJ5kW7LdOnlnQ+VyRhBmuSZ\nypy7\r\n=g8FC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEnPZEXzM/9IlZE7O+eqs4AROskWXiUmMHm9qJYBTnOyAiEAujtX+vENVJpANQxhdm442k7Hqit2ag8nAsi4/W1Ljgg="}]},"_npmUser":{"name":"kolbeinsson88","email":"kolbeinsson88@gmail.com"},"directories":{},"maintainers":[{"name":"kolbeinsson88","email":"kolbeinsson88@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kolbeinsson88-jwt_2.0.2_1610820646343_0.6325333115725273"},"_hasShrinkwrap":false},"2.0.3":{"name":"kolbeinsson88-jwt","version":"2.0.3","description":"Package for creating, decoding and verifying JSON Web Tokens (JWT).","main":"bundle.cjs.js","module":"bundle.esm.js","keywords":["javascript","js","token","jwt","JSON Web Token"],"devDependencies":{"rollup":"^1.31.0","rollup-plugin-uglify":"^6.0.4"},"scripts":{"build":"rollup -c"},"author":{"name":"kolbeinsson"},"license":"ISC","gitHead":"3ec4fd7b378c82711ad6a51e28e04bbf7c804b31","_id":"kolbeinsson88-jwt@2.0.3","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-7eFD0NwOKwsYoll4Nw1cemWRsxbh063Yz2CJIy0W48BZ6LlB+Qlm962QTvGZSjIYPAyfzsUgnBCD48Aw9ViX7g==","shasum":"40ddf46b9f93233a5be9f2b0dd120b0d27572470","tarball":"https://registry.npmjs.org/kolbeinsson88-jwt/-/kolbeinsson88-jwt-2.0.3.tgz","fileCount":5,"unpackedSize":14825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAy0uCRA9TVsSAnZWagAAraUP/jwiy2yl/Edkc/K5U6yv\n2bJm9NQZf81spEYacAt9098vOcEQu5ZXC1DKlc6Zsuaj8k3JcS8M56gcAtu6\nGxjU04Ax0zMgFGXkTKD8jjVnVQNBdHJZ04xnoxGua/lTNuYLi6ifC1YXHOqR\nDcBp/rIcKLP8HIDaOtCsBKwcu3akiKvPneYdcI8T5M/iwTppWCxpriGc8XQj\ntlT0mMrlyXtwvk2sR+4bLKCYUv8F83dcf/X5j3DI392oku1Wl8+zInHP/Lwy\nwjxLkTcJ2erYwokbq8W7+efgiCma+TI1TvkrshMp+fTbOhaXBdR2Xa0ZRVZL\n3Ix62JZGvtcF8hv4eCiSzBERsgisV2HLbzH3E9mRr1GIuZu6PZP+3sDMrJGQ\n5xstYeoIeSSs/mzDjwpdm0d/mZVqZzn940E5JCOorsh9TeqPvLMboiRpQz1o\nVceCp2Cg2KXINZJElv1k3KPTSpveYQWi/OpPGcxpktWXFcTt4rrRx4eJIQUD\nA9dMKOV91LsyqDNR8/PSQA2uU3ZSSLl0LNm2gOw/LSH2AAW8mHqMlRAE+2VZ\nZM7NTkeEEm/HHKCTK8LaHNZqGj9YLPZMuxSlVEqwKYPKgPLqvnIk5glGLKay\nUU6nJ/sCCkHh8Bc6PUi7Fj9cs4iZHfpQBfnvU8xeNWvnki7tjunib2UDNsdf\nY7bU\r\n=nzP6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcGxzh0NMm5t5V9sup91uDwaGxk5/1Yq71STUT158BzQIgWV4UuglHnkSCmbbWHlvlB/EB81AubUsF12cbbA1MKdM="}]},"_npmUser":{"name":"kolbeinsson88","email":"kolbeinsson88@gmail.com"},"directories":{},"maintainers":[{"name":"kolbeinsson88","email":"kolbeinsson88@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kolbeinsson88-jwt_2.0.3_1610820909867_0.9816431910125842"},"_hasShrinkwrap":false}},"maintainers":[{"name":"kolbeinsson88","email":"kolbeinsson88@gmail.com"}],"description":"Package for creating, decoding and verifying JSON Web Tokens (JWT).","keywords":["javascript","js","token","jwt","JSON Web Token"],"author":{"name":"kolbeinsson"},"license":"ISC","readme":"# What is it ?\nAllows you to create, decode and verify JSON Web Tokens (JWT).\n\n# Getting started\n```yarn add --dev kolbeinsson-jwt```\n# Create tokens\nSecure JWT will accept headers fields for algorithm, content type and media type.\nTo encrypt our token we will be using a HS256 cryptographic algorithm, so you must set the alg field to HS256.\nYou must also set the content type header. Will be using base64 encoding because thats all node.js got.\n\n```jsx\nconst { jsonWebToken } = require('kolbeinsson-jwt');\n/**\n * Create a JWT token, to create a secure JWT you need to use a cryptographic algorithm to \n * create an encrypted token signature, we only support HMAC-SHA256 encryption. You may set \n * your content type and type header. Your token will also accept a payload object with \n * whatever claims you need. Your private key may be an arbritary string of at least 11 characters for semantic reasons\n*/\n\nconst header = { \"alg\": \"hs256\", \"cty\": \"jwt\", \"typ\": \"jwt\" };\nconst payload = {\n    \"userId\": 1,\n    \"email\": 'john@example.com',\n    \"firstName\": 'John',\n    \"lastName\": \"Doe\",\n    \"admin\": true,\n    \"exp\": Math.floor(Date.now() / 1000 + (480 * 480)),\n    \"iat\": Math.floor(Date.now() / 1000),\n    \"iss\": \"https://sitename.com\"\n};\n\n// The private key needs to be at least 11 characters long\nconst privateKey11PlusChar = 'f0859760-3d22-16eb-aa93-0222ac130002';\nconst token = jsonWebToken(header, payload, privateKey11PlusChar); // JWT: eyJhbGciOiJoczI1NiIsIm .... jNTU2M2JhYzdlZDA4MWI1M2Q2YWM4Yw==\n\n```\n# Create unsecure tokens\nYou can create an unsecure JWT base64 encoded token. The alg header field is set to none because we are \nnot signing the token with cryptographic algorithm\n```jsx\nconst { jsonWebToken } = require('kolbeinsson-jwt');\n/**\n * Create a JWT token, to create a secure JWT you need to use a cryptographic algorithm to \n * create an encrypted token signature, we only support HMAC-SHA256 encryption. You may set \n * your content type and type header. Your token will also accept a payload object with \n * whatever claims you need.\n*/\n\nconst unsecureHeader = { \"alg\": \"none\", \"typ\": \"jwt\" };\nconst payload = {\n    \"id\": 1,\n    \"name\": 'John Doe',\n};\n\n// The private key needs to be at least 11 characters long\nconst privateKey11PlusChar = 'f0859760-3d22-16eb-aa93-0222ac130002';\nconst token = base64UnsecureJwt(unsecureHeader, payload, privateKey11PlusChar); // JWT: eyJhbGciOiJub25 .... Imh0dHBzc2l0ZW5hbWUuY29tIn0=.\n\n```\n\n# Example use\nYou can also create a promise that can return a token, authenticate the JWT token if you have the correct private key and finally decode the token in order to access the header and payload claims from the token.\n\n```jsx\nconst { jsonWebToken, jasonWebTokenPromise, base64UnsecureJwt, verifyJasonWebToken, decodeJasonWebToken } = require('kolbeinsson-jwt');\n\n// The private key needs to be at least 11 characters long\nconst privateKey11PlusChar = 'f0859760-3d22-16eb-aa93-0222ac130002'; \n\nconst token = jsonWebToken(header, payload, privateKey11PlusChar); // JWT: eyJhbGciOiJoczI1NiIsIm .... jNTU2M2JhYzdlZDA4MWI1M2Q2YWM4Yw==\njasonWebTokenPromise(header, payload, privateKey11PlusChar) \n    .then(res => console.log(res)) // JWT: eyJhbGciOiJoczI1NiIsIm .... jNTU2M2JhYzdlZDA4MWI1M2Q2YWM4Yw==\n    .catch(err => console.error(err)); // error\nconsole.log(base64UnsecureJwt(unsecureHeader, payload)); // Unsecure JWT: eyJhbGciOiJub .... BzOi8vc2l0ZW5hbWUuY29tIn0=.\nconsole.log(verifyJasonWebToken(token, privateKey11PlusChar)); // true\nconsole.log(decodeJasonWebToken(token)); // Decoded JSON object\n\n```","readmeFilename":"README.md"}