{"_id":"@alexcambose/jwt","_rev":"2-4b80047772612ff48d599e9d07bfc086","name":"@alexcambose/jwt","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@alexcambose/jwt","version":"1.0.0","description":"Simple JWT library for educational purposes only","main":"index.js","scripts":{"test":"jest","test:watch":"jest --watch --coverage"},"repository":{"type":"git","url":"git+https://github.com/alexcambose/jwt.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/alexcambose/jwt/issues"},"homepage":"https://github.com/alexcambose/jwt#readme","dependencies":{"base64url":"^3.0.1","jest":"^26.0.1","lodash":"^4.17.15"},"gitHead":"ae6a0ee9f237ec6812795101424c088ba298264a","_id":"@alexcambose/jwt@1.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-yVcVuCGIdc6Ao2J8czcJRST9KmJf7FH0RPTTnk3MeFd2YLsJ/KMYqiu/HqpNlcO9Q9smgEsrweWu5i/u9Tr+Kg==","shasum":"1e4da1b7ae7f4209b92fe3b69712b9f0adf56ae3","tarball":"https://registry.npmjs.org/@alexcambose/jwt/-/jwt-1.0.0.tgz","fileCount":10,"unpackedSize":10525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2WqSCRA9TVsSAnZWagAACokP/3cNEZs8jOSebmzFyd2d\ngVzTIE7/7cwZkxNijV+CsSnKoegtHnhXxUWoJdZg2YcXiepCfeSeD9eJah04\no0oTvG8nVkqI7vWDuGu913Q+LAtXlsQ+I+vEIWcW9HafgfLHpBV8j0SyqCox\nCF2Db0wZmGnZHOUyLzO1GE1RlObhFFnqFhtSzH9OWr0jntQKaYfX7NUq07FG\nap+yql2MAMjA+SNcZjXI4SoAtNn3xIZ3jRvHiJT08zE5bVZfbjhiJPFeqpjL\nqvk4ZSlRzNnTGLQjIOOrtmXjS2N0FzXBGyc/MIeua5GYyXGTTcmmUiTMG6Tx\ntD5YLrCbx4Qn5RxKlNCOCaowF/5qRsqLz2PtbXH0QykBYLQqCKSoVYZye8H/\ncCkPSIDHAxI54E/TsEzEKCmYADr0DHq8vtBh3cOrx4ilAj7Sb12ryNRvKMA0\nuAVAtYlM3BPtkVgcMiv6EZBO/4s4nUdqM/j4iwyxEBPSegexWdmBugrMaRJm\nG2LO/bn5eK9kCbZk0JErqbC7ywsEd7f3yIlxFcjxBFwSJ7D75DYTAPpPdwIp\nuXJGP0WBwScquLMXSRQmfjAU5SAORMXLs+AZNStFgdfunFyUwPh25sj1bRGu\nSAyvoC56ovGqgLQea1kovF0dZaB9rwuMulN9awuVsp5h8fcaWbyAQg4TchQi\nGt3Z\r\n=gEEu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFhYYapTaXKw7PHrH8Y88dN3LTbtLb3sd4rSUSwoYLERAiEA8JPxH8B5kxVdDLfmS8J4S1rVf48U93siAVMbBNe3fHc="}]},"maintainers":[{"name":"alexcambose","email":"alexcambose@yahoo.com"}],"_npmUser":{"name":"alexcambose","email":"alexcambose@yahoo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jwt_1.0.0_1591306895698_0.6589152567071959"},"_hasShrinkwrap":false},"1.0.1":{"name":"@alexcambose/jwt","version":"1.0.1","description":"Simple JWT library for educational purposes only","main":"index.js","scripts":{"test":"jest","test:watch":"jest --watch --coverage"},"repository":{"type":"git","url":"git+https://github.com/alexcambose/jwt.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/alexcambose/jwt/issues"},"homepage":"https://github.com/alexcambose/jwt#readme","dependencies":{"base64url":"^3.0.1","jest":"^26.0.1","lodash":"^4.17.15"},"gitHead":"ef353538a885edc010d9dfdfc2c66de3d670154c","_id":"@alexcambose/jwt@1.0.1","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-YkKmE3GgB85xYiBMmUGtlswRETo8VzszFa8L7k7Nm7ghRWIj6/aoAEKhOSHAT2bZTItQD7H03cih+OCd3X2ZFw==","shasum":"dda8bdcdba577f61dd7b5ba4ca9ab0f7b3f6fe7f","tarball":"https://registry.npmjs.org/@alexcambose/jwt/-/jwt-1.0.1.tgz","fileCount":10,"unpackedSize":10543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2WrkCRA9TVsSAnZWagAAlaEP/juZn2aM3VU1wHvtTTEi\nhm1h85fJByZ7x5bb4NSqFjliFaDlfxyC0WffZqtBNS+WPad5N8jHVZpkuPK2\nOdzwlnZTS7gf7CISTbvIVFvRNPcXdIYIziff5Oh0VlVS6ZaQe5Rw/FNmccmh\ntB1BVrpMonZqK/khN1PG0P8BWNGGNkBok+dNOqGp20LfVY8FkzLV7sIec/9/\nGgX/t6MMB4q5ZXwKIIrFEj34kUXZAfXZpHb1w2srM87swhf3JFMscnJuutKK\nqnx8A1AcsJf9gdjmL3L85m2vzVTcUvEv00asFxMCQcbiZgClsuYrWFqGQbfN\nMqwAOjaHIF2dFh6Re55oS7tr+Eg2yeFfMKC7vm9jittcvgOt6hamJX51kel+\nAwjIGiGn0ykm9gOKgPhWAv14QD3U3nLUswRko+BtnEwf1qIS+KkVMkEhoEuU\ny4O4CeN9uGofy3XfPkltxjNn2JLdUG5nkor7MCU7O0QjRIEatWU5JwsXp/TL\nH4aQvfn7X+tYq2DIKYDZeoAnT4By2E6jnu2KoiZflxNIRHmJKdOsq44cpl75\nbUxars86xPKYwgBwxHth/G5icVZUMNT1GU+8y3cjJjzvKkr/p0qDm2viCrnY\nzk+IFLGMyBT21mJJOFebW0QM8O84GjWcjeBA6oIVRYlpGpxm2CVEJ/o9Epb6\nyy5F\r\n=hhhb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGemZyEZFa3WA1H/JdVUJKkKuUISSph1Z0KIxzHoVkJmAiAz8mSg01zRBP/Hjefzdoz2aLl/Oe/j5/k2T+lKJ0dyFw=="}]},"maintainers":[{"name":"alexcambose","email":"alexcambose@yahoo.com"}],"_npmUser":{"name":"alexcambose","email":"alexcambose@yahoo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jwt_1.0.1_1591306976971_0.07108000951981963"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-04T21:41:35.654Z","1.0.0":"2020-06-04T21:41:35.839Z","modified":"2022-04-04T12:39:30.353Z","1.0.1":"2020-06-04T21:42:57.110Z"},"maintainers":[{"name":"alexcambose","email":"alexcambose@yahoo.com"}],"description":"Simple JWT library for educational purposes only","homepage":"https://github.com/alexcambose/jwt#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/alexcambose/jwt.git"},"bugs":{"url":"https://github.com/alexcambose/jwt/issues"},"license":"ISC","readme":"# JWT\n\nSimple JWT library for educational purposes only\n\nThis module is part of these two Medium publications:\n\n[How JWT works — in depth (part 1)](https://medium.com/@alexcambose/how-jwt-works-in-depth-354cb5dc360d)\n\n[How JWT works — in depth (part 2)](https://medium.com/@alexcambose/how-jwt-works-in-depth-604c93ec20a4)\n\n## Installation\n\nWith npm\n\n```bash\nnpm i -S @alexcambose/jwt\n```\n\n```js\nconst jwt = require('@alexcambose/jwt');\n```\n\n### Usage\n\n#### Creating a token\n\n```js\nconst data = { firstName: 'John' };\nconst secret = 'secretString123';\nconst token = jwt.sign(data, secret);\n// eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1OTEzMDYzMTksImZpcnN0TmFtZSI6IkpvaG4ifQ.twH5ckfRhGxOIp9Uonq31eFv7xws-xQdtFMOYDg1Wvk\n```\n\nSetting additional options\n\n```js\nconst data = { firstName: 'John' };\nconst secret = 'secretString123';\nconst token = jwt.sign(data, secret, {\n  expiration: 60 * 60 // 1 hour\n  algorithm: 'HS256',\n});\n// eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1OTEzMDYzNTMsImV4cGlyYXRpb24iOjM2MDAsImFsZ29yaXRobSI6IkhTMjU2IiwiZmlyc3ROYW1lIjoiSm9obiJ9.ASNiEo8ZFm-SfSi_wpZUA2mVaCRwtesw6tJ-Fk_ayAk\n```\n\n#### Verifying a token\n\n```js\nconst token =\n  'eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1OTEzMDYzNTMsImV4cGlyYXRpb24iOjM2MDAsImFsZ29yaXRobSI6IkhTMjU2IiwiZmlyc3ROYW1lIjoiSm9obiJ9.ASNiEo8ZFm-SfSi_wpZUA2mVaCRwtesw6tJ-Fk_ayAk';\nconst secret = 'secretString123';\nconst data = jwt.verify(token, secret);\n/*\n{\n  iat: 1591306353,\n  expiration: 3600,\n  algorithm: 'HS256',\n  firstName: 'John'\n}\n*/\n```\n","readmeFilename":"README.md"}