{"_id":"@abskmj/jwt-utility","_rev":"4-4e473845dabd69bed4c7ba05680ef3b4","name":"@abskmj/jwt-utility","description":"JWT Utility for Node.js","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@abskmj/jwt-utility","version":"0.0.1","description":"JWT Utility for Node.js","keywords":["utility","JWT","parser","generator","factory","security","authentication","token","JSON Web Token"],"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"abskmj@gmail.com"},"license":"MIT","dependencies":{"base64url":"^2.0.0"},"repository":{"type":"git","url":"git+https://github.com/abskmj/jwt-utility.git"},"bugs":{"email":"abskmj@gmail.com"},"gitHead":"049bc53a2ff5e5bb3c2ede86b6f5ae494bcec318","homepage":"https://github.com/abskmj/jwt-utility#readme","_id":"@abskmj/jwt-utility@0.0.1","_shasum":"055936dfd7622e305802a0b349de7bf2b044dfd5","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.12.0","_npmUser":{"name":"abskmj","email":"abskmj@gmail.com"},"dist":{"shasum":"055936dfd7622e305802a0b349de7bf2b044dfd5","tarball":"https://registry.npmjs.org/@abskmj/jwt-utility/-/jwt-utility-0.0.1.tgz","integrity":"sha512-1A7dpgId87dlxJ8Dl1qxHi1pmZUIeqGfT3RT2L4J7GzQDCuAH+9fI2w9+Y0J9a3X1r0URgLgxQ/KfMap9EIzuQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGCT7iLoFTTNizNoBuyjDnAlq/LukUAF8opJ5cMIO+sJAiEAiOFXL3AQ2vBtO3HI/r4VyaZc2JHUmirc0VKGgvFPQIM="}]},"maintainers":[{"name":"abskmj","email":"abskmj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jwt-utility-0.0.1.tgz_1511361066277_0.5388483540154994"}},"0.0.2":{"name":"@abskmj/jwt-utility","version":"0.0.2","description":"JWT Utility for Node.js","keywords":["utility","JWT","parser","generator","factory","security","authentication","token","JSON Web Token"],"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"abskmj@gmail.com"},"license":"MIT","dependencies":{"base64url":"^2.0.0"},"repository":{"type":"git","url":"git+https://github.com/abskmj/jwt-utility.git"},"gitHead":"22e7346462cb2df24759d5de3cf6d7b378554bed","bugs":{"url":"https://github.com/abskmj/jwt-utility/issues"},"homepage":"https://github.com/abskmj/jwt-utility#readme","_id":"@abskmj/jwt-utility@0.0.2","_shasum":"ef491d87cfa7072d9e0fb9ef272c34f161a4ae19","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.12.0","_npmUser":{"name":"abskmj","email":"abskmj@gmail.com"},"dist":{"shasum":"ef491d87cfa7072d9e0fb9ef272c34f161a4ae19","tarball":"https://registry.npmjs.org/@abskmj/jwt-utility/-/jwt-utility-0.0.2.tgz","integrity":"sha512-S7FBxpWyDq+un+6zoAA22SgKG/hOHrfDFTl/pEQZZ4ltrC74mlVup3yfofV0pZQLaawjpUktNWSTIcYs8NdXDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoL6ErLHr1KPTz++j7rir1W62rXI1q23Xkw2Rt9KO/1QIgAVzM/MtQ4g+i2d8G2TtMl8p3a6CxvGsHiD8a/gCc77o="}]},"maintainers":[{"name":"abskmj","email":"abskmj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jwt-utility-0.0.2.tgz_1511361212045_0.20324494363740087"}},"0.0.3":{"name":"@abskmj/jwt-utility","version":"0.0.3","description":"JWT Utility for Node.js","keywords":["utility","JWT","parser","generator","factory","security","authentication","token","JSON Web Token"],"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"abskmj@gmail.com"},"license":"MIT","dependencies":{"base64url":"^2.0.0"},"repository":{"type":"git","url":"git+https://github.com/abskmj/jwt-utility.git"},"gitHead":"3210a24a0c5b22f2ea5ff5aac60d002666e2d30b","bugs":{"url":"https://github.com/abskmj/jwt-utility/issues"},"homepage":"https://github.com/abskmj/jwt-utility#readme","_id":"@abskmj/jwt-utility@0.0.3","_shasum":"7e2b64b3799d2ea3e58137bb988d6be66aa7b922","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.12.1","_npmUser":{"name":"abskmj","email":"abskmj@gmail.com"},"dist":{"shasum":"7e2b64b3799d2ea3e58137bb988d6be66aa7b922","tarball":"https://registry.npmjs.org/@abskmj/jwt-utility/-/jwt-utility-0.0.3.tgz","integrity":"sha512-rOW++NwV5gakwqV7uxG56PpjJgzhSYN8w+kQtEHRjYznh6VcWdY+ZImShf+S2MQ86+yTdhkZit9k114JbJc7RQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXeCGFZo1OW1opAl9WSiTnkA1vplWgNi0VvAyHGYu/SgIhAO/yse60imz6rzBlTANbg1IwmpcnLyHqCjOVUjDpu41U"}]},"maintainers":[{"name":"abskmj","email":"abskmj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jwt-utility-0.0.3.tgz_1512555919555_0.33716576430015266"}}},"readme":"# JWT Utility for Node.js\n\nThis utility can be used to generate and parse [JWTs (JSON Web Tokens)](https://jwt.io/introduction/).\n\n# Supported Algorithms\n- HS256\n- HS384\n- HS512\n\n# Utility Methods\n| Method | Arguments | Description |\n| :--- | :--- | :--- |\n| `getFactory` | String | Set algorithm to be used to generate the JWT and returns an instance of `Factory` |\n| `getParser` |  | Returns an instance of `Parser` which can be used to parse and verify a JWT |\n\n# Generating a Token\n```javascript\nconst JWTUtility = require('@abskmj/jwt-utility');\n\nlet jwt = JWTUtility.getFactory('HS256')\n    .setIssuer('AuthServer')\n    .setSubject('Login')\n    .setExpiry(10)\n    .setClaims({\n        user: 'testUser',\n        name: 'Test User'\n    })\n    .sign('secret key');\n```\n\n## Factory Instance Methods\n| Method | Arguments | Description |\n| :--- | :--- | :--- |\n| `setIssuer` | String | Set `iss` claim value. |\n| `setSubject` | String | Set `sub` claim value. |\n| `setAudience` | String | Set `aud` claim value. |\n| `setExpiry` | Number | Set `exp` claim value, value will be current epoch time in seconds + seconds passed as argument. |\n| `setClaims` | JSON | Set the custom data that will be part of the JWT. |\n| `sign` | String | Generate the JWT using the secret key passed |\n\n# Parsing a Token\n```javascript\nconst JWTUtility = require('@abskmj/jwt-utility');\n\nlet data = JWTUtility.getParser()\n    .validateIssuer('AuthServer')\n    .validateSubject('Login')\n    .parse(jwt, 'secret key');\n\n/*\ndata:\n{ \n    headers: {\n        alg: 'HS256',\n        typ: 'JWT'\n    },\n    claims: {\n        user: 'testUser',\n        name: 'Test User',\n        iat: 1512555172,\n        iss: 'AuthServer',\n        sub: 'Login',\n        exp: 1512555182\n    }\n}\n\n*/    \n```\n\n## Parser Instance Methods\n| Method | Arguments | Description |\n| :--- | :--- | :--- |\n| `validateIssuer` | String | Validate `iss` claim value. |\n| `validateSubject` | String | Validate `sub` claim value. |\n| `validateAudience` | String | Validate `aud` claim value. |\n| `validateExpiry` | Number | Validate `exp` claim value, value validated against current epoch time in seconds + seconds passed as argument. |\n| `parse` | String, String | Set JWT token and key used to verify the token |\n\n# Further Development\nSupport for RS256, RS384, RS512 is not planned yet. Please get in touch with the [developer](mailto:abskmj@gmail.com), if you wish to request any new functionality or bug fix.\n","maintainers":[{"name":"abskmj","email":"abskmj@gmail.com"}],"time":{"modified":"2022-06-12T14:15:18.781Z","created":"2017-11-22T14:31:07.353Z","0.0.1":"2017-11-22T14:31:07.353Z","0.0.2":"2017-11-22T14:33:32.152Z","0.0.3":"2017-12-06T10:25:19.610Z"},"homepage":"https://github.com/abskmj/jwt-utility#readme","keywords":["utility","JWT","parser","generator","factory","security","authentication","token","JSON Web Token"],"repository":{"type":"git","url":"git+https://github.com/abskmj/jwt-utility.git"},"author":{"name":"abskmj@gmail.com"},"bugs":{"url":"https://github.com/abskmj/jwt-utility/issues"},"license":"MIT","readmeFilename":"README.md"}