{"_id":"intuit-oauth","_rev":"33-a4c86a0d6614695f6e4b6299d2d59728","name":"intuit-oauth","dist-tags":{"latest":"4.2.5"},"versions":{"1.0.1":{"name":"intuit-oauth","version":"1.0.1","author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.0.1","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":90,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":80,"reporter":["lcov","text-summary"],"functions":90,"statements":90,"check-coverage":true},"dist":{"shasum":"3c4807b94454cbb0fe4cac868add09665e8009bb","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.0.1.tgz","fileCount":33,"integrity":"sha512-TQNh+hVhUvJid/gyjjnTgTE9qiLP6Vn1gBR5hal+v0qC10LVqF4ujHLj7UK/LpiOxMNtuhpgb0cudHInTqYvYQ==","signatures":[{"sig":"MEYCIQCMjR5BTHRNoY/e4mqTTo8BtnO85CorzRG0oB8u0w+BAgIhALqkHh4xBaReQh/yqqUeOba0BSnE5cPY/mmvY0ckt+mO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtwszCRA9TVsSAnZWagAANB0P/iG5ZnAtPcB76gKv0HDC\nEnRKqpFno9BXbyNQ7DHM0e0KdMlV1syP+QPmWNHLlSkTDJU5P6kQIDBu8eAe\nqmEO+cLB+wU0vkXoQoWPQ/mwWEdYddkTYw4+aPq2/44elHVX4vJpVW50FOsV\nu1ps7nSqKc+pspiHwnHuht04/b4Kxr0xQt2nsV1qZEBjqev4bsaP5Zm7wakD\nEjI5+wA9isWjHgzhake+fKqjzNXIacrT33/xwFLnoisZaiZQ8L6v0mFszmFD\nRrX2VWHRquVrWrDUcmlZSdCa7LbuwwdeF4NrKlDzQVGg91nmYc1ejEdYeT93\nsPGvumu4994/4jxFUj7f++ezZyT3aji3KnJzLZnPGAlXxFR5dazOIahYJYUh\n42WxcEzdJyJYe2sO4h6jfFyeBewA7C7BvKEnZnJ7VSTosgm7YD00yNwfubVh\nADNOj8sURNp3en/G7QSiAqBoTKy9yi3K+wl24PqTqCpFOu29OHQqpSFCqzWr\n6v+NL9gd4e8Jyw2rQ5DvRXBSqM4xH3NLMtb52EERFlmfLZt4BIdWzT22sg8a\nY5H9pfjeRv2y99WjiTqdkM6Lpx4lSgCcmXOjLXBWLgGw+gSWML985lk73IYU\neeWOTx60zR464Z20iLJhdXLOI5xnpJbLLFpJLG8LumNUR09kncIJZQ7vHny2\nWwHg\r\n=jgEM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"47bf640173a2fea06e993a90135955717e977611","scripts":{"test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","docs-gen":"doctoc README.md --github --no-title","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"9.6.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.1","is-travis":"^1.0.0","body-parser":"^1.15.2","object-assign":"^4.1.1","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.0.1_1538722610322_0.9032130924668373","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"intuit-oauth","version":"1.0.2","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.0.2","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":90,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":80,"reporter":["lcov","text-summary"],"functions":90,"statements":90,"check-coverage":true},"dist":{"shasum":"75b8186b0df391c667575b3b28ce4d2823a10bc9","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.0.2.tgz","fileCount":33,"integrity":"sha512-wwypD01kGbLpDGZ5UzHXkthsv9l66ah9Hw+L30vOGjN5G000xJWXptyRbvyzxxs/F/qYRM9lsWP4KT6P/luglA==","signatures":[{"sig":"MEUCIQDuVgPYcexv/Mzzys5S8QT9RRK/oMsfTPmUvPnN7kdmwgIgNPmayev6PJnbva78QRXi/nO+0/XumjRqd39QCWDzszo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbt5o3CRA9TVsSAnZWagAAM0IP/AxgjhMKOOIcuP9m7SAt\nWnC3qjASMgCVNULMn3hTtlBZz6GqClNdOuqGDtN6darAOvWc07xDCTe4aLgR\ng37cwKZ1RFa78wZq8MQsPQEL7TgDwO0Qd5c829ITUbn3Qpmzt9ghsvMxVpCR\nvmHKhTw2yAheCY3TJsnptlq99Pnub8XTvlFyRMw4DKMIoTjM/WiKpkKHKKOy\ntNCEXvh/BvevA4KU1Wd0nm3/jRuDlVqXU4tfuqWqQhm6rKBCtE+J/TLrthkY\n2nHkTFrcgnXXRWd+8RxeY1fwZA6/5pk9xfat9MXE9NL/414iI9DSGxaj0KVK\n5XigzFZhEnjk0AxnjGggiT6UiRTVVDjWgB8cJwYwgTri/CHl5Krga456Zxk+\nzGNxZcZ8CVVd2FfX/L+o1KfEjLKSOf9IYyQDit3WlF19IGzrBAZcxA1Hl5L7\nyE5nTfFHZNejRfUsF1QfBgZMWvnTy1uAhNncsXO7ahJY2r3gj21yus5Lt3Tj\npbwz/LFZlUZwaXZRcLmMes+NEuw5pOnTQ6RxU1sQEprSo8Id1bB6VR0QgE6h\nf9o2SqJL4JclSnRdgtuyWa8pEQSPV2DDJ9iLAU17QHDYRS2bxvfKa3vKN7rr\nExKg4ANGl4E97FQGY5Fl8vSAXmVktOTdgS4lGCTtP1Bn8aAa3tpyb3hjE8YO\ncZYB\r\n=DfG2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"edb881487c4825192aae6800a74ee50be0689d1d","scripts":{"test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","docs-gen":"doctoc README.md --github --no-title","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"9.6.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.1","is-travis":"^1.0.0","body-parser":"^1.15.2","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.0.2_1538759222208_0.5986224473676205","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"intuit-oauth","version":"1.0.3","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.0.3","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":90,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":80,"reporter":["lcov","text-summary"],"functions":90,"statements":90,"check-coverage":true},"dist":{"shasum":"778ffc2669a6d54cb9afbd8a45c9b6504981ca6f","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.0.3.tgz","fileCount":33,"integrity":"sha512-xrnDiUJrM4nEWOdh6FH5/iNSEGHGC0rL40AR+QvYX5F4fN0wchG/LVruvipjaPVIc9ZIrAXYoVrcx1Ll7IxTXA==","signatures":[{"sig":"MEYCIQCk5ef2Chxp93o8G7OTpluildxXuV88BzceYx4UxpVsuwIhAN7Q1zbcK7FCwDXu2dgG1BamxokOkwWcKueuxfWyHLI0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184184,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcAcx3CRA9TVsSAnZWagAA7A4P/2W3x1QsrONnnxHSCV0f\nQndRtEkc80hQWQ1udaZLdO2wE8E1NH3qErVT3BuF7D3HRrO1uNiVh8TRa6jH\nUiKwOf/Uf74+WorA2/RXmp+a9hk40oOSEL5Kg7WGgpUX2blAyrgEBjTQfnIi\nXC5g36YAmOu2K6ZdZuxM0jXJ8WL8qiAwbTGr6iZRTxI5EdnR/hY5erVCKizr\n0LfUiooEXTIryBEVA4WXpLPZSJglkLoP2OGAVy54d60+X3X5peA1xXU7DM1S\nF5nl1ZrHd3W+GYfJURkqmA68xumEOm18EamNwHvzhZe4833mARn1+5t06Qyj\nFcgClZhw+dyD2KCq2gkuIAjUO89MEY5FwqJvHbPiPNW6epKuWpJEirskNY/q\naCzW/nRj+5WnkB8FWel/WvTNzlDh5oPDvPo9A5sy7BEbXXDLyUAj5FCvhrWs\n3VOGyt6PBl2S9nHFH7WF6dKIdF6SbSVpcWZ79nAocBb1ISm7MXZoAKt1br+8\nLjNMWvg+PNZAjOOwauo4Q2tbsU73n2Xza5WYzlhstBaHwFl+bpQCHyVaKG7b\njluXljI2jXYOfo5NDV2tqQfgDc80mBEvBpUXp+4pga3DADB+/wJ3dP45fUdU\nhLpyhGFq52gakOy2OQ6a3Z1WhLW9AxVkFTer7uI+5TLXlzDJTvNZ27BXp8Vh\nR/Bp\r\n=tVpS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"3f42fecedc4c3cc40da472e012364a9ff927a4e5","scripts":{"test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","docs-gen":"doctoc README.md --github --no-title","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"9.6.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.1","is-travis":"^1.0.0","body-parser":"^1.15.2","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.0.3_1543621750215_0.027750085848423423","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"intuit-oauth","version":"1.1.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.1.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":90,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":80,"reporter":["lcov","text-summary"],"functions":90,"statements":90,"check-coverage":true},"dist":{"shasum":"e785b682137d68ad3c5ca81e991b157de59db77c","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.1.0.tgz","fileCount":33,"integrity":"sha512-hOevjzmFRk4H8KWS0uEu9P8QueMBCXWCbDzonO7nker8+ISviu99av/x8MNPM3ctZ3GIC8UXf+RNLXrnO57Z2g==","signatures":[{"sig":"MEUCIQDEjtWZP2tVaQV5f0lhDAb1I+b7FogmFaeDmlUPutNPoAIgKzSPLbs0c3gjkzHfgtbpKOjPRLEgPFWkXhMgnAsey58=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":186045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFGPfCRA9TVsSAnZWagAAmxgQAJwLf+xXB9JFhpoNctqV\nC3YZFOnvwjzN/l8SSOUmcGf1idkg1HVWGtjfF5mrVXf8TENnPu++jq47/dFg\nRc6pAv3sVjIO64/noF29FMaMpLu4zSFc1ShWDFWwD/LJb7kqG1Rig1GGxuf5\nnsGBYDc+DGGTWhBgE1MX6PaxOgAtztX00wYhiUMCzW9Q1Lb/dMI8Pmnd9aQE\nSdmdbClX5jLTZjTpAh7GMmfplZX6hBY+15rNh8lrlrqT6qoa9ioXEpo7HGJE\nCScxsuK6LeufVL4ApJgnzPy3IsG91x4UcmwbyHCCrhDQ0CNW3e8A19ekdpjB\nDuVLW0JEJinjzKQ2A3EFhdwvbGNWzekP3Ox9+DbMMn1UDkwYLrTiI1B+CzBM\nGMi38OtCnKtnvgG9GamTCOOFwL4eCtVKWz0J78qmpzKiMu28VTrfo4/CkDjY\nz7gg11bmgk9jN0of1F/Ag0H3qVyNLLRjoYEFFCpvpZ9awCpRGC3d0MLRz8W9\njEKITsYfaIJsjXityros7s3Y1o3PC+4Y+BtT6sxUn1wL9vrIikvFZm8SQyec\ndgV6pAXHnqMatSAss0kp3S4WRT7B3G5NmV/j5EISpm5Hc07OqTYhrYb4988R\npCV6sYJ7Bmv/K98SWgmTBAkHXW9Ay3tKOi5OO5GgoXFPtDwEWJJP5EkZiN2N\n4wzd\r\n=PS7s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"5423649e57ea4885f0a6b90df93956b6ae53953e","scripts":{"test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","docs-gen":"doctoc README.md --github --no-title","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"9.6.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.1","is-travis":"^1.0.0","body-parser":"^1.15.2","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.1.0_1544840159111_0.7309081673597708","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"intuit-oauth","version":"1.1.1","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.1.1","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":90,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":80,"reporter":["lcov","text-summary"],"functions":90,"statements":90,"check-coverage":true},"dist":{"shasum":"4b7e15bb195c8eff28c4cd038c760ee5614db525","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.1.1.tgz","fileCount":33,"integrity":"sha512-L1LC5PyLn/yUHQHNBosr2Glid6xHCNNnU6ASZAL/U6mjmg3bdQnxGf5tRUCA/el6T/xCPyGnUTdmQDcKsFk3QQ==","signatures":[{"sig":"MEYCIQC8RUKAAq81AXPhJ3K63uJzJf1fTxfSTaPrz+XNPUWP1AIhAP8+tLoVcXhCVIDDn7Mw5g0ycYJMLrUIA8k8t6sBRuYS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":185945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGDMyCRA9TVsSAnZWagAAXoUP/isNilmzGoN+D1m2y8fi\nGUn+q7oDM0Y9KgSClJSuYHWf3t9TTIJB6R9f5wftqg1dGNE8Z7fOWWIdV03s\nc++AZYlfSBoz4FZkakvQfgavcACo2cmGC9fgBuLfk6m5/bq0wirwe4aCxkym\nh8l7Xsn3IGhLzeii6jeUnIu+i4kHRsx6tEqTt/fNRVuIVcsOob77Zb+3YDLF\nKVUcMjM5G5zeDU9ZrrwCdk8KK3G4+PNAQbNbaK1S11jnmXRAk5LGT8sQQ0kF\nEp6rYGj4w5rHFU77x2rP9uYchfpOZltcxrdGObgrHuHWu6rVLbtPJwjKLnXF\nyV9csJv02PQwgXSO/KGJQB+Ia6+AVnl59PqdrAaCb7t9V2zlhbmJJ/k8spdJ\nH2K8qC43KKj2vzaMkyFtl23soze9XzCGrPeSGn3CNvtegFFBN8Foh5uFKDXV\nqW7UXh71MioYptQXeUPDicNXly/SGmquzxIxxnThReb10OiDt+7X4oiFxa2R\ngEWmKoSi98uqgIjuZYgDIr7WlLkzINvNq/z6hyJfOENuZZHXNAWPD3D1vkit\n+WPXAdlfZ4uXKlKv0lBB0T1sl1a5nuPWJ2urXOCy08nUm1r/SrNB60nV171M\n8khQPi+K7dFBvOQHQVjk+3I5yUFSsU/tznXtcp4Va0lKSzURKtQRy+NknUfP\nkTCA\r\n=ecik\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"64d1bffcb2695cacd51ed752b021885a2bc6f8a0","scripts":{"test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","docs-gen":"doctoc README.md --github --no-title","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"9.6.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.1","is-travis":"^1.0.0","body-parser":"^1.15.2","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.1.1_1545089841961_0.17611220855311127","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"intuit-oauth","version":"1.1.2","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.1.2","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":90,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":80,"reporter":["lcov","text-summary"],"functions":90,"statements":90,"check-coverage":true},"dist":{"shasum":"d09ced7ba9df5315f39810bfd835b24caa880711","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.1.2.tgz","fileCount":33,"integrity":"sha512-mK+lnIM7V2b9NFFT6FtuIRso2BjOhp4lPzvccZ+TqbkxhGVoMhaF1j31WNPUqKDzfRpYz+POnMMsL9nnY5cRaA==","signatures":[{"sig":"MEUCIQDfIOjUunB2IFhvNpLfwKaAsTxhHxdLHUHVbz1mvn5XUgIgPDZYSQV6OWF/PNtpk7f6xWU+knA7oK3Law0CB5qaxv0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":186170,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYhDZCRA9TVsSAnZWagAAc0UQAJ4bWnXnmgSOG0DBY1Cj\n8uv+gV8CRB9ZT5oi3OwuJnfdb9S1wvaQzpqAcjCVfww9Uvp3cer7yiGzx/0Q\n+wiNwqOXBqGoOki/xr4h6WnB92JNnx4TE0dRFoeHzvi0dkVZr4fjEWbB+Nb3\nbmUKGRU2qoX0lFBabSYBnEDfGSM4RDpl1ahKjUFlfEWofbA1cpcjVkU0o23D\nTauElJbaAANiBopXRpjjkbcTmjYtNoICYCZNIwlOc7eIlcLEiG3nVt/kylX4\nrvoOsu9JimLF/Je+zW14UCKXvSuxuyghO2JdhIjadyc1/5Mwo9DabJLiobVf\nKIgUpXiO7a92sDFn1uoW9ePioiENySF7FB/k73RwxZaRjs/3ghA/lwIY7kvZ\nz4QEzzOJrQEsDWpHzr55UomIyGlNa8tTm3wjuyPqx7aYEYEub/uQ8iVeuFKQ\ncE1ZeYkeU2JfJdJ3Zbxsqu7EAUQb7IFWFRUnj0gqjiPC0NvS0s7YpSD3Hcap\nQY1tE6UxAibNdGXQePG0FFd5uxqpL/laRLF1tQqqqtYayCxO4z7CfXy04U3G\nnjPgX2Q2S9PSwTJyuQbTirFJFCmU4GJL3qZ1VcSiviqrEAjTTED4oID5+S68\ngDWz8UT9prtOn91HlqyEt8yC4lPSoVBU7iWSBPwRHbEO9QRCVA/bRNt6TbOB\nNxjS\r\n=NoKa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"32ee65b7619d28b5653d38208136d120d9b46eda","scripts":{"test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","docs-gen":"doctoc README.md --github --no-title","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"9.6.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.1","is-travis":"^1.0.0","body-parser":"^1.15.2","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.1.2_1549930713207_0.9580404119768693","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"intuit-oauth","version":"1.1.3","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.1.3","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":90,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":80,"reporter":["lcov","text-summary"],"functions":90,"statements":90,"check-coverage":true},"dist":{"shasum":"335a7a3fcf0409babfb6ab594ec8ed07c448db4b","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.1.3.tgz","fileCount":33,"integrity":"sha512-kHhRsBiJxjnvSMSQn+rcu5jdSiMV2oKxyi+OyaOlSkBFOerq2AtM4A+D8RTOhKILR8dQkH0Jqc9Br/Th6vmozQ==","signatures":[{"sig":"MEQCIASNYzL/WSejs3Bi91OR+1hqlBT5uZpdbV2VT3ZtJACHAiABBTk7H+7nD2s6UGyT+VFVk/gYP8U+mOGnQxG0gbgiOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":186411,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciBMaCRA9TVsSAnZWagAADuEQAJIzH42UlGg/LSJwmK7/\nXdyZ4RWvotATlLBLglm75zpv19/CkGVROqEdzt6BTY9Zb8i+8cCJm98myxI/\nfKr7iRk1AAiIu796dGUYTl/ygUJRxwpHknc3l/j4s+g1/v2sYPjAee2YkLZl\nJitY+ywh5Ni6i29yVdYGwmVPwIhO3/0n4iJupwwQ8275OeeWqS09VOcSCNMn\nvLpnJanFhrLZiE9TvaElnEt/P+kpmDBuNOPfzoh8wtNCly6sHkrACRuLWAki\nzhwzN5bD7pnesh5w9kf0AHjg2VgMWwf9r/4ikI7PHCzDYagg02oi0MCcCuDt\nPOktJj41q7LlB1cvalSvWFSSfHSKSem5dwICMJwZE7WTi4iHbJp1W4TFLsbW\nYPo84Z6kQjpFEewmeJrM18NPi7N0QXEWa8BySkWAFAo2UxibudjhLwovrQJ+\n/BU7j34CzFRpmGp5X3r4ntlZ8fLvcdgWfmsDEBqrZCKj0xDIuTzOchXexIcB\nBAPuD8ZX/7D2Vr47Abmhh5hLyjEuBZ1/YFWHJhqLlDeJOrtd1YiTW3nZsvz+\nPIlXeWZTl0KOizGdHKuN8MZ4wI5+4xTgEpDtMLHZu/xJga5koeoAMFXgilKY\nhbaqGAeq5/M0Z/8xSNFCcWprhvSAcsZolHicj0cWphUF5QkpSHWAOjSgTfh+\nvq9K\r\n=TM4v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"11dd96849bc619e7ff2a01f212f21eef0fb123fa","scripts":{"test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","docs-gen":"doctoc README.md --github --no-title","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"9.6.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.1","is-travis":"^1.0.0","body-parser":"^1.15.2","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.1.3_1552421657406_0.38891033917659623","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"intuit-oauth","version":"1.2.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.2.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":90,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":80,"reporter":["lcov","text-summary"],"functions":90,"statements":90,"check-coverage":true},"dist":{"shasum":"fc43d6c3308a5a9af9cc2155736d916fa0f11102","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.2.0.tgz","fileCount":33,"integrity":"sha512-BtaFRSO9Sratpx27KAtMakINYKF3KdJQ4VilCLvKOOdXciciUjrS1Od6zsXq8GHHajQ7/dxxs8rPlcCTCpgw1w==","signatures":[{"sig":"MEYCIQDl1aO/Gpf6ueqaSJVgRiK0ZZVLZzqLXBSxjJnS+bVzDwIhAMNiVrpmw5ZWBeEVqAawkv5mbFq+NBJ0lxBO0mtNZ0s+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwfn0CRA9TVsSAnZWagAALWsP+QB4sRtyuE3Ad6yudMVs\nrH2cCzl811c69EFFyHq5qPg+9u4xDNC2o8V8me+RIx8eE0HkSXG+u4MFFGEw\nyzJeRIaJDgRsYHE5QJoHXVB8xM+QHxXZ2nYa0PDmeEzHnF1WuOI4woUxraqN\na6h28xMk68ojIeel2JFycbXQQhWezUnotUnffoIINJZa6I8wFiRn7+AdgSO5\n6ZbRwUf/hUYJ2Doa5bEgThwYxdoJ4KhM+IfAb2k+pZ6EyfketgtGwSY7PjBs\nomwOofLYBza5hMJgiRoOn+eIfdyG4bAFjacmCtqpCW3dTGc+GcTY6vR7CUJ1\npa19thtyVMUL0hYdqaBYKg2xdmQYujsosb2rryOCizLNZPW++hWLIIsZ9jIZ\nGA+7c0JxE8fQbNfTSv/YnCyUQv3tMNVj2W/dofYYStvjbhHZzcIDKXifMgpq\n9SyPk9LMaa/yYtVE4UXX6GTZmUuyRnS5POxHfxYInmfsJE4e5F3I6GhA9prl\nvNiZuWQ4sH6DMxuZG78luVcSaavWtXeVs+24wth0fQNwCp3/o3a3rTkc9ksg\nYL7Wnf2vVCBG2ueFa6GbwpF6xv1a5tJS+mE538TZdpyL2nzqQ3g1Uv2EftNS\nQBHVrMVm65HseIKL3pF2FQmYmkX+vJ+cegj4mGXl9ZV9vD1ZCGANnnOw2WUb\nd5Nt\r\n=m0tl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"6c62bc0d6c37d09c8711c6de041a8805dabbbd20","scripts":{"test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","docs-gen":"doctoc README.md --github --no-title","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"9.6.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.1","is-travis":"^1.0.0","body-parser":"^1.15.2","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.2.0_1556216306880_0.2372513093728108","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"intuit-oauth","version":"1.3.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.3.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":90,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":80,"reporter":["lcov","text-summary"],"functions":90,"statements":90,"check-coverage":true},"dist":{"shasum":"c1b6ced487965dda774382de3dff148f2c0dcc60","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.3.0.tgz","fileCount":33,"integrity":"sha512-Xptfzm9P2txW7DWbndmmG3aVP18xBBQ9atrGTDE6dk0vlBTjshjrvvgZuQqI0CaRyCgZi5/Rd00/s3CQkryKQQ==","signatures":[{"sig":"MEQCIEKviX8ekypWweNhqTNZXOKxRy+7u4I+7ynOKAGlEkr1AiBn+na16ro3UvjEocQoUS1Eg5TVcJO272EJnVyJaU+kEQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":189998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdI9/fCRA9TVsSAnZWagAAHugQAI2F6yglTtDs0XdaU/Ke\n403/69jkZ3mF41nZk8T4LP69q+ZmGUtO4o3SUp+jEKRr2ccW4lUJmESLtT4j\n7iR7URd6b4x4EgQVzWBjYmS8Li8ArksbIp0M2FIQMvP/9T/dtOWeqMwVI57M\nB+TRFpi71iQisW/aL0X+kEPPFXAH4RpBkeTVjND5IQIMjhICMKXx7OfeblVr\n6p3QS7EJWnt1wV+BIxlZZYcRlpriy14rstOeR8GdChe6rmT7iKDczlRkPAcs\nDJpWqbzt1AtMV5MVXf4Sowc4i7cjWUgwRnoOYFPVTC17D7b7qcC/gSKWf9Xo\nLgjl9ze6TbbO0m10UPNdLBByuaZL/di59BbkHazvAkH1XN5OrxqmWdGlInwL\nSphY2WTlR58u62RWGSBxQQ7C0Vs0MpyC8L021sEuFPuaYZ3jYUqLAFi+0Dl2\nKg8sXBAUbwfgE3yeUGqXoW+MAes1Cg5ccp9CvpKn1Edzf6TA6PA46EKfIcSM\ndQUBdtuoKk0vrcAfigRenyxgPhpEITEmCk+G2kmK+QBkInAZHBSSKFUC3B6v\nB9yzd7gT8/kTT5A+DS9dzorT6YslBf6FKlPgnVnzC+aa4Y9UQoYjDlPfWX9o\nMGp/fww3UXXVPwN795mWOmkH5RXMbIHte8C0zBGt1M/hv8gBEAenv1ZhcQHm\ni1Md\r\n=x3/C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"be0c4db2f862d99f411fc515db519029292d9900","scripts":{"test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","docs-gen":"doctoc README.md --github --no-title","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.9.0","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"12.5.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.1","is-travis":"^1.0.0","body-parser":"^1.15.2","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.3.0_1562632158595_0.00044244739466359206","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"intuit-oauth","version":"1.4.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.4.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":90,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":80,"reporter":["lcov","text-summary"],"functions":90,"statements":90,"check-coverage":true},"dist":{"shasum":"baa60834de38fd9c3f24ede7557df84e40783767","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.4.0.tgz","fileCount":33,"integrity":"sha512-rEivBinblesEm5R08l7EY5KWlgXPb7q6y0D/6xJQ2znFeuyplzE2AJ6QLBzf4JB6cpjB989NyKA2HCRdkhLKaA==","signatures":[{"sig":"MEUCIQDUQM6YkKcRwV2Fioo4Yfc8NLHtYffe1VgYUa5McPlDxAIgFk00hXDqLbYrH9l+SDL8L93mvZ3jYnYC2vt4Z0KnV18=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":186738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdMlc8CRA9TVsSAnZWagAAjfsQAKLSLFumoLn5HNvQ+K3T\noKiTP9Jf9g6uRX2A8Ru05B3t87yBnVh2Jh5aSLGxXfmgNC1AxbqhfRe+L1Ka\ndcdc9sn8fud0Lwvo/YarpPLxIJbw5CcKkNhDC1Op/NOA7IUxN7xyU4DeJwHR\nqC9Uv7QGzNnaq7u7lu6AChCfEZ6LSxQ3cSV+5RLKDZ8JLfLNa5rv470PCO1f\n26KIVLnLHWByt0+fViBGuCYwHG5OBBKnhvp3XzE6YGkcGlkAEyW6oRWBnp3O\ncdbMetkIIaH70rThBKw0B7Qus0+9IeAbNp0ezuUP96oMtZMAsBjiFIKg8gDI\nHnSzYut0ffsFOdnx0aWcuojMn5twFmp2ubDeBMzNkhJhsGsRhKqPcUru1CGd\nDwaDg0grNwZNKvPB2qjYBCJA9gfnBtDYV2G46sp6xKxKhEes/Wtk7i2PYcoG\nFqK4LeyyVoQBaJLOuxeX/Gy/yly2syvP3tPWauxs1k6vWknDYijQUGgz3V1z\nRjJXf0NkkCAoDmG2DrW0ySvuoN9vInL+Kz8zqp7E3IwDlJ+P6LJvsG7fwjpl\nIxlRxpv0VwQrWK49pTTK9aIr2zS+xZIQQR/Oh4GVsj0DMti27Vvx2R22KIeJ\nhfAiawaJqT6HKuESaj0EVBVBnTnUOb+36TBoWVn4jNJRMGpN/8eFVU0qx6zU\n8FRp\r\n=tSby\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"d5f1c1300c17ac0ecfa259cc6fdae4ea6dc4a999","scripts":{"test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","docs-gen":"doctoc README.md --github --no-title","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.9.0","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"12.5.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.1","is-travis":"^1.0.0","body-parser":"^1.15.2","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.4.0_1563580218988_0.32208633155995803","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"intuit-oauth","version":"1.5.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@1.5.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":85,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":56,"reporter":["lcov","text-summary"],"functions":80,"statements":80,"check-coverage":true},"dist":{"shasum":"e0464dcea21c36edb748d1f419406599ca26789b","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-1.5.0.tgz","fileCount":29,"integrity":"sha512-uwGeX98UW9Z8QNFIP6qTtKOfO2SgoEc51pb/OuE+bnW2sJ+KJG2LOUQupV5N+lSOMyodg5gk9BlhmNS9a1hXvA==","signatures":[{"sig":"MEUCIQCiVXn7cOGrRlg5HSJslc1k9t6LrqKFEy0bVx/twbiD9AIgZ7dc6CpPbZh8KsETW9+Kos8yg687WL8OY4gVOJVnRx8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":686405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdYHVcCRA9TVsSAnZWagAA4CsQAIw2oFebyJ7kIdLhZNmT\ntU00+lmjVnXo/qbZiQT/UjTgp9w8HxZnUhMOs6Pg1oAF3KAqZo1M0gCL5Lus\nY24T+lmZcrA5Hn8LB9JgeFEP8LIAjTSJYfMRtIwAPPe25iIPd/+7Ym/HVWNV\n+606qhWI8oKUwSqscUje/d2lVqsjj/uQamUKB4JYrysbhERJmB8JIKrF6c9s\nv/dDkZPj0MhZ8mNbecHtC8U77Bo3kSirU8zN3ZWXXQr/e8Y/sQmDJdplK9xK\n6KIGSazvYcB7Y+v9AwUv+4NdC/07LiOdVjOFCJl9BrT9xVPCF24Fsy/UOMel\nzijaFn4d69GvaAC7KMxZ4spWUd+t1L1hrUmIKvPN6CxfpJybeIVLboYzb4p0\nWEgGuPVW0FKx2yR+Jg65aJGbuM6NM5oU+4a+5R9rCmGerE6tduiCzxSHY9w2\na4E3ApnZkqrpAB/GWaT0rgbqnrWZYoS56/SStwNKeyAb3jyQz20Dd6xPb/1u\nNbimelWNlWFSSLHQgxTf6FDUzxjYRWoS1ve34JIvX2lNuwtC23ERPBzohZfG\nJpjN/sTORDibs3bRcTRYNkrRKdX8VwN5giB+14ULGj/ENF8PvGW0IDLnD2dX\nJs/GX0Hb/B2tsJ1XlTe7/FEO2W7rgUARsobGnzRWbV+5UsnnJjagGwALoWN/\niU2Q\r\n=Aw0f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=6.0.0"},"gitHead":"cff9bdfa77c097f372382a0a9d880e3cc527af07","scripts":{"fix":"eslint . --fix","lint":"eslint .","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.9.0","description":"Intuit Node.js client for OAuth2.0 and OpenID","directories":{},"_nodeVersion":"12.5.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.6","is-travis":"^1.0.0","body-parser":"^1.15.2","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_1.5.0_1566602587769_0.3689838755229262","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"intuit-oauth","version":"2.0.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@2.0.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":85,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules","test"],"branches":75,"reporter":["lcov","text","text-summary","html","json"],"functions":80,"statements":85,"check-coverage":true},"dist":{"shasum":"20932bca9fa468a7e0f91d5bfb1ab4c25c92df1f","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-2.0.0.tgz","fileCount":41,"integrity":"sha512-EkJZFZGxna4Cy6WA3tnBkVVsHFPu0Cw3CXP7EiNsBXbrVvEkzomP6oRxl68b8VZhfLzEORGByRtJ4ZXrm2QsHA==","signatures":[{"sig":"MEUCIB/TPjQpl1EoTysIOcPbJTPS6fkUJYN6hV/lrXZ4SEYZAiEArbBPM1ZUd/hevoNYg5rWEzxIH3ous4EW99tdoHTab3Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":584013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqRgICRA9TVsSAnZWagAAOYEP+gLWxr9Ui+EcufqKNPIq\nUNsQvOyTJRf2ZYRwIB5lZ7MqQ6ux1Vk/SBy1obldIR/xP9k1pR2EaYsIdu1M\n4qt2j/SVUIJ55VMzDFeqPK7+RKy8nMelb2A8PFJiUUkdKtjJArE0lqTL7nSs\nssgG7sYB0fmqs0tsFvmKSNQXWEJCoAK07NjEmb87VKhEbJ44JX51rvdtIkkC\nCCpk9LlFhLosqPZSuNsabxhNG8yBb8D6SpqNP9VpEBZsW6M1by4bcnT9yFBx\nkhaQIaRtdq8jD/Iw9Mij2oVdVlFpPGM21XBHsPKIYoYzuWW+SnRrib3BbqpG\nhqmxfZaTxGra510ybdgZDOLZ1tSouWbSVf8oxeAdllk2ONmZuKXX58VTP+Dl\n0r9+99UULgCLltK3e+F1HDBiFE3te32uX7er1yc7f01JN+4Rc20Y4DkI+e2p\n5Hpz/L3PRinxB3tEGEQSxmGx+T/b4yv5zAoDlRZqrVqB/aNjpc43QMpID88H\nEjRBvKhCBlKfpJ1Z2U4lzFeXER9DMOJjg73ktF4WKZPumXtOoXIDYP4g4CiW\nd44xd3tNQ0s7TjrluaImLqUmNsEofriRw9loo5DrdNTi7htLBK6nDqfioiN1\n4vNd78eoTNhXmAIH18NkmTJJr2DcSCASJMLxlT/BCN1NikK0oHw1u5VTNNFM\nXkAB\r\n=wbql\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=7.0.0"},"gitHead":"496962032756104b377c74122c014640b7115fc1","scripts":{"fix":"eslint . --fix","lint":"eslint .","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"10.15.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","coveralls":"3.0.2","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","sinon":"^7.5.0","chance":"^1.0.13","eslint":"^4.19.1","express":"^4.14.0","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.6","is-travis":"^1.0.0","body-parser":"^1.15.2","chai-as-promised":"^7.1.1","phantomjs-prebuilt":"^2.1.4","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_2.0.0_1571362823853_0.6056031373069011","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"intuit-oauth","version":"2.0.1","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@2.0.1","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"bin":{"coveralls":"./bin/coveralls.js"},"nyc":{"lines":85,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":75,"reporter":["lcov","text","text-summary","html","json"],"functions":80,"statements":85,"check-coverage":true},"dist":{"shasum":"0b3ec28d6a89c58b18aca9d444efb963a8770747","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-2.0.1.tgz","fileCount":43,"integrity":"sha512-GD8B8hnaPkzRdqhrtiDVqeQ/jEYFn3svq9hy2t3e5M8pUghltcCLlAO8A3dIIqUEyZAu5nZ6UzNEFE2xZQF9gQ==","signatures":[{"sig":"MEYCIQCwdQxUksqrvBKg/EbQ9EnAcpEZHmwr1W+wRBZoQ5ad3QIhALOShaSPddKnwPF3KssqfQ2w5FluOWDamrR9WX4XmeB2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":742655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDmRrCRA9TVsSAnZWagAA2Y4P/0jJF+ZRaHMNuZqIRIPV\nTmxZLRASvwQtpmOGe2g9JrjEdBgc0HsOt2bAb8KrWWfJMa2ScL/ZzcthTGgA\nIpG5gtUsTuj814RLiaqPpHEWH3wsbAnLkrULoB6U3ZdMe6YSN4SfCRif9l9s\n80Ab2+zKgzhqJkOKYFifEh7g1ANVvsEQC9RHjS6u7mfYpjY6ZGCHS26njVqY\nnQu6H6BRIzMU1CaGtfZIJYI6Xc4Ov0klVzWUhcf4jWCCF4d887eumd5w3xIl\nt4hvQ31NLt2hg9728++pDp3HaBDAhYERR3/ywYPn5hbKkbiMKNDsN1+d7VOY\nYw0SN0c5YLo8o+3ZWJD8Xni7XYpmntzk1kY6Eo3m0SJL+577kiZaS+fTnYxS\ne3Q9lU3drUCa19qVQ29xzukr3uxk9W4mBKvqJNeeWGpMFOhLVFFt/tebunYx\njglkZFZ8wgxjRkgyP0weX6g2M4eADzomBvTbQYBnTnCVlsFVFhvYJpjAYAxb\nd6WtF3CQ3jm6+HD5mv81PK2261uFHGV8E5olCGDOFZ5KA4Y5yiXy2bHNaFaI\npkRvmWJvDpqNd/v7G5el1Bz0m1mO1laaqoHXbE0kcztBy8EXO/qGSx3AgseS\nS/x/TvlhS20Cu9Lg4hfArCetCjjLmSxgZqS32gfu8MDHTgLZlJlox9oTfNBY\nEEtV\r\n=LYhs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=7.0.0"},"gitHead":"95d0407eb8722360a9c65ee43c9a35bf4336e215","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"10.15.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","btoa":"^1.2.1","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","sinon":"^7.5.0","chance":"^1.1.3","eslint":"^4.19.1","express":"^4.14.0","istanbul":"^0.4.5","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.7","is-travis":"^1.0.0","body-parser":"^1.15.2","chai-as-promised":"^7.1.1","phantomjs-prebuilt":"^2.1.4","mocha-lcov-reporter":"^1.3.0","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_2.0.1_1578001514520_0.651690964557603","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"intuit-oauth","version":"2.0.2","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@2.0.2","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":85,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":75,"reporter":["lcov","text","text-summary","html","json"],"functions":80,"statements":85,"check-coverage":true},"dist":{"shasum":"f818db2503e845538c2e6bdc602f44215a3aa568","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-2.0.2.tgz","fileCount":48,"integrity":"sha512-SfH5eW/MFGmR67/RS6LIz6kl6ChGXsHcTOoXmB6ut/q1k4kL4Dg8ajgxSV/5ll+DN1LWPSelrvSR476XSWvfTA==","signatures":[{"sig":"MEUCIERKOKRAw5XqW3zAaa08DE9iyJ/AkZAhI5+vH1a2akToAiEAveIvwO+uAOJlpvPuUa9iQSQLZctk4BXpJW1eaGjy3P8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":755390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeD46LCRA9TVsSAnZWagAAnPwP/jbIPNTMv6V73s//UM1F\nCzwAoX4v0LcHHTq6zXMPbGyDJSAGx5ciNwjs24dxVZHoo2z7vFQO7KIjclH8\nMrxZPoGWQM6zFQD5Pq4+5w0S8Pw0foQWpVpKjbXFp271DktOm6TIzk9ii5pp\nUp4vpqveChrhdDaE7tz52+FYR4cvxQxTJOjNwrbdfBjsLU4Fmb6/11MXlRr6\ny6vTN9clL+rFXKfXS9XgOKWHWgQshxw1Z95oLTNoKFFBKBcNBBD1PTFaoL31\nViLj5s04a9eYMiWLNlsPHCpZVVEv9zNjiYYqghBnkhJHtsS+rN0y4ZlyD+O4\npvL497JRdyifJI8VQ9kPs+YGJyaoYjWN3cIi0pPbOMIMnnPWix7nIli1nWAR\n++MrA/Wx7zIP680Oc1gq9yx8ixZLG/DiEmE9Bhq7rRa/Ibzwq9XNMIbtuUfV\nbMULFBlrBQWQIHwqwhHKCDSd93UIktxaxbGupL0ql2Ehoz5Nl5cOPnb3nRyO\nxUZyj0cFk6ddkTvY0gDjObEhL0ceBIi0E1ctja+dbpKB9DDydCK7vB0HPZ5t\nMWi+qjrfjs+HJQ7M8u/CXEtNY3NuUs6UcBL+bTlt/68suM2hJvOJ0QPi8GEd\nmziqlM+KdrdVCGC4UHcqqkpY31M6pGQtAtvB8gy+yltYivJmiDBZyaISxD6e\nel7c\r\n=824K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=7.0.0"},"gitHead":"f67968e4aa3f5b6b3367b4befb7e916a91fcbd55","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"10.15.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","events":"^3.0.0","winston":"^3.1.0","popsicle":"10.0.1","es6-promise":"^4.2.5","jsonwebtoken":"^8.3.0","query-string":"6.2.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","idtoken-verifier":"^1.2.0","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","btoa":"^1.2.1","chai":"^4.1.2","cors":"^2.8.1","nock":"^9.2.3","mocha":"^5.0.4","sinon":"^7.5.0","chance":"^1.1.3","eslint":"^4.19.1","express":"^4.14.0","istanbul":"^0.4.5","standard":"^11.0.0","watchify":"^3.7.0","coveralls":"^3.0.7","is-travis":"^1.0.0","body-parser":"^1.15.2","chai-as-promised":"^7.1.1","phantomjs-prebuilt":"^2.1.4","mocha-lcov-reporter":"^1.3.0","eslint-plugin-import":"^2.9.0","eslint-config-airbnb-base":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_2.0.2_1578077834780_0.23274783312986336","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"intuit-oauth","version":"2.1.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@2.1.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":85,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":75,"reporter":["lcov","text","text-summary","html","json"],"functions":80,"statements":85,"check-coverage":true},"dist":{"shasum":"4d62b3625b53785b4cbfb48f8b9091a7c0a01fd7","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-2.1.0.tgz","fileCount":45,"integrity":"sha512-8NfHZDqW36+Foii6woZM6AhIEHS6mvLymCNhxhgiiWjOusITQDU4uck1698OusDgdq2oUwtJ6p5vshmjfoqC+w==","signatures":[{"sig":"MEUCIB6TLEMiksHneFC1usk+qlD5XXrOqKZtwngLBrvGvPE5AiEA4T9NrWbZGE/41AtY+M4+Jd3nW3YcylAmvgjjpTDamu0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":757362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekQKICRA9TVsSAnZWagAAsK0P/RHTQLck9pmZfBCAmFGL\nkOdu0FBCPz7u9ffBhyAOnHFzwlCyWFMnOtruNdQI/jXEl4UZUSjo4AXq9EGD\nelWCZWVPjwk+L8HUNyBAoZXVvCB+/kuwFeHZP3ruWbMvrNYKx8Ps+5Byzm94\n6v8D4yA9Fu6TkvMSmoqzD6P5M0Y4Z6g3Yn/AjNy3AggCd0mgD/4PHDoW/EMm\ndS1J/xVYLb4Ppo7D/NmdChj3an4Od3CnQUo93ma9rB+c1/HGhVkwhrfVSQwx\nN/dzuhW7iFYV7NvXJDW+pHtpGcHiVoL5u7xDy0XkKecGBCCN148YCkRI3Qvg\nMuBS0cJ5RlNSFicj+13zGQf1exXuGr66bOFRK3KUiUFmOKtXEazOfvcVvGiC\nP36QdFSr50e8TXsQ2ne71GMVwQSuElpgCVzNgHEvpE0l3UUyey6180oCrtDV\nJHNVn/VMA9V9ynPCBeGiRsZBRLFS8BIW7OeeoIlTqh3CgyRemfgNN2vJlbMw\nf/TWBoEI02U/0vbe2xvxeoHUEAWKT192cFoQzNTc1u4p3T/YRyGk4KzIIVql\nQw54MhQJPnISOs34G9auYP1XJF3qXFJ43COcrGcmiMitv1GeSxcFd2QvsRnz\n3FQb0+RH9JHIw7/5TZNeHbmTc7z1HjAonUIkUAC3+3KjiKkoZBoMUn0D+AuG\nlyu8\r\n=ONWc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","engines":{"node":">=7.0.0"},"gitHead":"714078de2fc0c09a35a267c548a33717ba236833","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.4.1","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"10.15.1","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","winston":"^3.1.0","popsicle":"10.0.1","jsonwebtoken":"^8.3.0","query-string":"^6.12.0","object-assign":"^4.1.1","oauth-signature":"^1.3.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.6.0","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","mocha":"^5.0.4","sinon":"^9.0.2","eslint":"^6.8.0","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.20.2","eslint-config-airbnb-base":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_2.1.0_1586561671507_0.4372684210944191","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"intuit-oauth","version":"3.0.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@3.0.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":85,"check-coverage":true},"dist":{"shasum":"77fb76bccbcfba88b8847ee01ac40198cf9aba85","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-3.0.0.tgz","fileCount":47,"integrity":"sha512-UMsO81b0fTOgTaWCS+ofpR09CCytENzsVw1w18/H7zqmGrYLpgAcrvU/LeIxA6xYhHPZW0BqodkKB4QC7Rs7tw==","signatures":[{"sig":"MEYCIQDlC/R7KQ+sd0UjY6c3x7224T/t+YCTV5AUi/eAAvofvwIhALXf+AgHOWpwvCVewarAQzLeUcmTv5+dVg4IO6EKzm+F","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":740025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeu0KlCRA9TVsSAnZWagAAym0P/3YojVnjcX1q8t2knafP\nNtz912DMkcQ53K+d2mbsE81QAD32FcIBF0GiedqDXAd6Yrgi2C5azx4aV04m\nSqVnHXnIFOM0dGh3ameyFTvGagMJIPy51CZcCA+EKCd3aSKbTl1uvj0+pGN4\nEx74ou/0pIbudiWeU5l+eM4BCPy9CmJ1JRMOL38O7HWGfV8fJZdDgj1CMIjC\nJRx90B1p6n3/QVkxfOZaZLYWXRHF2RFsnutSit12yuzWnUX8dXY02WA6SEWl\nsX4OKHYZtn7f8NjW0OPUsz0vv3rYJRhXCwRA+Y3GUpm7n2t3Km+0uEuZlwm2\no53ByL8VPIPt64raqZZXez+T1xOiPpypquOuFIGHOIRRFRdE/YjncJXhw/3l\nLb4D01eOsh9xyzpi8pLXYnQ0aWzpcZm8heMZf7bCaaGb7fV3QpFPR3IHQgLm\npgHz6TcqWVIHEM1ZXcB+QZnrb6t8LHyibSjyHKeuTz2U9w59XqhOhLlHwT8k\nMPNKy6Vy0IyvFr/mUgzNErbFQn7O7LKFvR9RlPt7d7gKcjZuhWQAzaEO7OnU\nNSNgYYVnTB/30UgO/6KlfzOX3y/qLr3RoezAT1utLuPws3Zvt9mS0e0EwOxW\ndsE5dYB3/M+u1CgKNHTUAuPTLdsMOuVrZFWf2s0VQY1PNwBivqGYBTpEf2bj\ns7p4\r\n=bguo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=8.17.0"},"gitHead":"e38c0958e81fb5e3f737ef08c7ee910058115914","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.13.6","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"13.7.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","snyk":"^1.316.1","winston":"^3.1.0","popsicle":"10.0.1","jsonwebtoken":"^8.3.0","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","mocha":"^7.1.2","sinon":"^9.0.2","eslint":"^6.8.0","prettier":"^2.0.5","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.20.2","eslint-config-prettier":"^6.11.0","eslint-config-airbnb-base":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_3.0.0_1589330596751_0.12041648067363897","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"intuit-oauth","version":"3.0.1","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@3.0.1","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"75da650f9d3d885259f496cf465c616165fd0c90","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-3.0.1.tgz","fileCount":47,"integrity":"sha512-b62+Z2wNR+a066e42iuuZcyaWIESNOWZSVUb1yhnN2CfobZ+XpfdZfZrDiUvDcojjxNwSK6ZMDpl96nO5hRGBg==","signatures":[{"sig":"MEUCIDCoRqsmCKbQ7AHU16Xa/aBcLzxj7FT+o2pf9wjA6h8TAiEAuHw0tsIEH28figADN10VWg5puFVp74v4e3mw2I3aNhk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":739449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevGKlCRA9TVsSAnZWagAAm4EP/ApolfsSyH6M1VzHuqT3\nnwkhXHKAvw7jDi5mBAdjzA3IYNHlnzwwadSBQ8MB/D9kowrueibR6FdgSqEo\na7Ry7L8LtDjkI3iKBrd3MEX5Zohro6oljrtQZJ7h8E0FHgnuv73VJOaQHWpS\n4V6ZoDTfIGYjlJ8qkhZWnVznLE6AmPeY1LUTKF4GHwMg+3v1+MI7XCK/caRt\nqW1TYuXApjRlAx4ZhiYf0mD+6iKyzPXXVNJ3rGmH22LeKWipKJv5piFSR3D3\n+hG4CtGycEleGLz/pqOHh7XUWslzyQsGjcu8zqxMJ5k+8P+YEkA0fY+02Gcc\nyawOuSLGQWDhZMuva4FNYVFUNFFiFsazcsLiDum6j1e06KYPMNlmYzLvj2+E\nNy+hC3J5Iwnabj2vbyXAEszX8+W1AHErGZ18mbnwPRUbdGQjcTPHsC9eWIqd\n7ZE+5rJMxQrhphXEf7MPM6gQzM/4XoBirg4SBpc3WNo1pfrot4/qwUizMMpl\nwq6KU2ad2XGMcKViK4VhVlcFQHR5UA3lXORpYxoJc8Upf/VMkCa2rtTE8uDH\nTM8QegECU+e/egFcQrIs/kMO0aPTh43omd9P3Fx5rH/hEBcWxC4HR5R+lyE5\nHqjV9JYAehzvAfsjQbB+AE+8atW+wqEQ/9j7HxJRsVbyggxDZOofBQd+nYjV\n85Ha\r\n=dmvE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=8.17.0"},"gitHead":"c959ed538d4b327c49b4a68f0eca6bcfee6b5505","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.13.6","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"13.7.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","winston":"^3.1.0","popsicle":"10.0.1","jsonwebtoken":"^8.3.0","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","snyk":"^1.316.1","mocha":"^7.1.2","sinon":"^9.0.2","eslint":"^6.8.0","prettier":"^2.0.5","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.20.2","eslint-config-prettier":"^6.11.0","eslint-config-airbnb-base":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_3.0.1_1589404324577_0.8411250187081636","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"intuit-oauth","version":"3.0.2","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@3.0.2","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"1636eafbe6c489303f1b2a7b999f4e29cd9eedab","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-3.0.2.tgz","fileCount":47,"integrity":"sha512-J3/KBtaf4SW0r2VOZLAjVYAFFOpUl6WIrte/WKi1WDQFUddGTb1nqZKkaFevYKOeicK+CRGA64c+iLR72onNEA==","signatures":[{"sig":"MEQCIB2P7e83XiC686XI+ZlC71Kt/L0cvKqyK17yAUoo8qrfAiBy/2heA2zAtZnN70RPY3UR7SevjNjEGC1W7m6adGHmfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":747826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB78HCRA9TVsSAnZWagAA3i4QAIcxOri9Tp0JrBxrFAyP\notbfN2bK5swxSfjI1CKSbjua/pQKMWK3TowLikr+rnZVucRmIRskZHYhBAjq\ncKA4+MfNIj18vxUSJo0EZrjWpWZKnjacOoM7hW3YAl6/fGspXgwGX3DUNgbz\nwHKNnHobNI7tM+6I685o4slym8uHHH3+EmBF7Sxf8Y8HPQ8vVvl4xdNyIulR\nzVfn5lrVCkgDllLierw5vablvVO8WCiLf2p6YRiPhPm8YLY9mBHGSuMkwj0c\n+glf5Z6mxDhzIwdyUtNxT8J1lXmDujvKuxme2Ur8DoFJxyw0Lf2pvWPtXUIx\n4yzpiCCf/3QoREb/kpVqUmnUqeCWGzWZ4GrP8UlFw/c2VgOlGwtXA+sMcvBQ\nEJxknHWZk9kMpWYovoIsoS5V4hCKa7+Mqq+0MFtqODxHADByqzuLivk3Q/9Q\nZzdXUg0sNvO9d2es1i/fw7qAtNA9a3Nx0MRue4Jq8467wfUOk5/c6YjlkKzZ\nHPcguQ/+Pvo+LAaLP2QWpKd/DX5AmSD9HXfbyvyTblPuAcwkM7+IihgJFap3\nFJJYDYbF73dGE5O6DBBdvcS3T0P343bZ7MCHAx30Vhy+UgaMNFm8s0lt/Lif\n1rnJ8j2JnORPAHKVTaEeOV6l5ngEsCCRLeyrURjWIyXHiiSKBv9lha3xpQQt\n/WH4\r\n=AVsx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=8.17.0"},"gitHead":"43a597b946645da558b1670a4a893e0a408a2cda","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"6.14.4","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"14.4.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","winston":"^3.1.0","popsicle":"10.0.1","jsonwebtoken":"^8.3.0","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","snyk":"^1.316.1","mocha":"^7.1.2","sinon":"^9.0.2","eslint":"^6.8.0","prettier":"^2.0.5","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.20.2","eslint-config-prettier":"^6.11.0","eslint-config-airbnb-base":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_3.0.2_1594343174404_0.9671850930981811","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"intuit-oauth","version":"4.0.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@4.0.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"c93cc07c55ea1ee52c8d7a6348191b0d8c621b5b","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-4.0.0.tgz","fileCount":46,"integrity":"sha512-TdgabbbZ6Lmn2UfaEixWhxhnLbdrngmnASoNB7OoV8uDdIEUOQUZaSMJDBIGVSLaVw2UgfDoIuXxYMN4+jQWgQ==","signatures":[{"sig":"MEUCIQCqQh4peN5n3lMZx0HMPSk48zZuddIAhQwFGPB2bp84SQIgf335fjIYp7rc0k+EyFmHltjSfMer1dnY5P0mdNnQJ58=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":705792,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsAFgCRA9TVsSAnZWagAAf9IP/AvDssubFL9T/i/WJkOZ\nJH65dY+EdT4PRjbngtruN19tlMlJVRgxCo3sYNysU/VAJ8ST9s8Vpm892qvT\nP2xwKS8Zroy5ORY4cnAoHsYcX6hJAK+le2CjbeIAMOOK03TqqGbM+hVReFft\n3s0wpwhSTFsRSrFVngjIpdsbC/JDJvCdacFtEOLKX6P/VzlBCAgI5imwAM3V\n8etBdety9LfwipKdW0fNpndE6o/hDpnxRkU9uybK8ksrtVI6lWBPbRuWEgTc\nVFS+yeYMEhQw8ZJ7Wbu+LgMN0pvA++dYZbW48zwxr380Qz6unu1Z+htP4DPA\ngKW7eiCKCONvvRRc8uadOXtCWcsMTj/8ZZKsjJX6QrnDdYF6sy4vFM4/yGst\n0RgsEJWmFh6SXaUIaJRRsx/zXwYemT592l/pjxke/Lnv5mIvNNS9HB+KsA3P\nZWFwozgH153jsksFVbogO2brVQMD32wRvUPPtz+m5OIaFu+VlkXGDEXXz8f0\nWFri8dc+z3hVRBml7Ic84LKT/c/cECMDXyuh1Vm9+ZsEvqTw9gBL+fIuLQxK\nFPLs69z82MiCS4RQPmigdjDVahNaoN3hTUMRolU7IKw7R8JsmcsIoW8gpkrF\nMfLn80xo0bMOJE4vc/z8Im1AmVDdeMjjJS3/4oyeCtTmjiL2aEkx2ihfPBFx\ncmjF\r\n=N/oH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=10"},"gitHead":"02e940bb10fe194b0de96ab714c1d205b190947b","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"7.10.0","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"16.0.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","winston":"^3.1.0","popsicle":"10.0.1","jsonwebtoken":"^8.3.0","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","snyk":"^1.316.1","mocha":"^7.1.2","sinon":"^9.0.2","eslint":"^6.8.0","prettier":"^2.0.5","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.20.2","eslint-config-prettier":"^6.11.0","eslint-config-airbnb-base":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_4.0.0_1622147423313_0.2258524026263724","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"intuit-oauth","version":"4.1.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@4.1.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"df651553651483281c9254c3f08d173f67563ecb","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-4.1.0.tgz","fileCount":13,"integrity":"sha512-bLWtKOb/rD/WAbUEW0cr8pmkHjTIVBid2L9uIxi2niCoocQy3Rh5oYcpLIhcSngqzC8WcrRol5CMkeApet4XtA==","signatures":[{"sig":"MEQCIBNycnusXkVW2fDG3JFg4fcTnfo50zy0iP2eDzpBFzsBAiBFVAS5rlZtelpCdx3Uj2nEyZDndoDjqFfcCxDRCcZv6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82953},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=10"},"gitHead":"47628bd0507646a005e6023c822fa8016a6395db","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"9.6.7","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"18.17.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","axios":"^1.5.1","winston":"^3.1.0","jsonwebtoken":"^9.0.2","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","snyk":"^1.316.1","mocha":"^10.2.0","sinon":"^9.0.2","eslint":"^6.8.0","prettier":"^2.0.5","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.20.2","eslint-config-prettier":"^6.11.0","eslint-config-airbnb-base":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_4.1.0_1709935836045_0.5937393550917753","host":"s3://npm-registry-packages"}},"4.1.1":{"name":"intuit-oauth","version":"4.1.1","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@4.1.1","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"f62abe30e291368edb1edfe5b240c9273ea7a26d","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-4.1.1.tgz","fileCount":46,"integrity":"sha512-n9z534MC3gGt/2l855cLlPxmivr+8l7YkimS5xpVJSiYpAIzxA9rhU0iV4CYOYNYjPwGUYC36jRkd4eN+tzEAg==","signatures":[{"sig":"MEUCIFvuTJ+i6zW0Y8CZNE8vVoVZF5aNoJEWAGvXn17LKbEXAiEA5VVVak37KR+W7XOyma0dsdYJWgWAqVFS7Suy0DhBNhk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":710545},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=10"},"gitHead":"36988749d0b211130627fc4b4988d4fe83f290aa","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"9.6.7","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"18.17.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","axios":"^1.5.1","winston":"^3.1.0","jsonwebtoken":"^9.0.2","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","snyk":"^1.316.1","mocha":"^10.2.0","sinon":"^9.0.2","eslint":"^6.8.0","prettier":"^2.0.5","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.20.2","eslint-config-prettier":"^6.11.0","eslint-config-airbnb-base":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_4.1.1_1710489383085_0.12459370266986824","host":"s3://npm-registry-packages"}},"4.1.2":{"name":"intuit-oauth","version":"4.1.2","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@4.1.2","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"ac8c8791d378df85bd42a5c8956ec864c5200cd3","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-4.1.2.tgz","fileCount":46,"integrity":"sha512-ABmJS0dJsjgM9VXo9LRAuxo5y2J19OsOuHqf5TR3KUxI1swpser6G1jEz6RZ51K+YyhzI1KPCFAwdYxlNhWSaw==","signatures":[{"sig":"MEUCIQCgemUV87qWgIY05H9ZJEqVNlFaGMBqHUe68W1cgJ8+AwIgC+H0jkcRg5g8+/8D19YEh4ousx6QK4OtuTS0xzSpmYQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":717764},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=10"},"gitHead":"ddb2b56f2b69b9cab8964bbf40ab3c76c606a698","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"9.6.7","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"18.17.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","axios":"^1.5.1","winston":"^3.1.0","jsonwebtoken":"^9.0.2","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","snyk":"^1.316.1","mocha":"^10.2.0","sinon":"^9.0.2","eslint":"^6.8.0","prettier":"^2.0.5","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.20.2","eslint-config-prettier":"^6.11.0","eslint-config-airbnb-base":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_4.1.2_1711584436049_0.534491779193889","host":"s3://npm-registry-packages"}},"4.1.3":{"name":"intuit-oauth","version":"4.1.3","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@4.1.3","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"801dbe9429744566fabd3dffcff064d38dfc2445","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-4.1.3.tgz","fileCount":46,"integrity":"sha512-jamanOys33Z2Uw1bisf+v7M+2rE9syMPmPZzkOt0iUrTp+IUk99QLgirKPukXidfwVdhgURnkTVb2wUcp84D8g==","signatures":[{"sig":"MEUCIQDVwFVoLaJWN1qrJlQsNpaZ4bTm104PMebN+1wzch+QTAIgD9tJdg4RHtBsMtWu96f1PZgCwxWGTxFMB4CG4QNOurM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":718331},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=10"},"gitHead":"caf883175e19bb5e9de8d27c525e80901252426b","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"9.6.7","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"18.17.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","axios":"^1.5.1","winston":"^3.1.0","jsonwebtoken":"^9.0.2","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","snyk":"^1.316.1","mocha":"^10.2.0","sinon":"^9.0.2","eslint":"^6.8.0","prettier":"^2.0.5","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.20.2","eslint-config-prettier":"^6.11.0","eslint-config-airbnb-base":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_4.1.3_1730870981492_0.6295234616918453","host":"s3://npm-registry-packages"}},"4.2.0":{"name":"intuit-oauth","version":"4.2.0","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@4.2.0","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"821800bc0aa70028959ed618fdad6ec2fab426cb","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-4.2.0.tgz","fileCount":47,"integrity":"sha512-FG+A4uiJT9xIm07yLtp4bhAdcOMcHukW7gZs6aJvh+3zHUKKqG/zEAtAIZP1d8YCMbPVHu5SbbnMygeM/OVEvg==","signatures":[{"sig":"MEQCIH+GFUSLCAodPUcgWK5PLmhzVKmxXTsjl0nMMQXCRq28AiAX5cphID7XsXc9Is6Boykwy/7p9YQUpnZORAqAd3KdwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1397260},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=10"},"gitHead":"28182fa8c242e243c3b8ef4f19c526bfda43675a","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk-protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"9.6.7","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"18.17.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","axios":"^1.5.1","winston":"^3.1.0","jsonwebtoken":"^9.0.2","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","mocha":"^10.2.0","sinon":"^9.0.2","eslint":"^6.8.0","prettier":"^2.0.5","@snyk/protect":"^1.657.0","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.20.2","eslint-config-prettier":"^6.11.0","eslint-config-airbnb-base":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_4.2.0_1738644378509_0.8727439860536375","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"intuit-oauth","version":"4.2.1","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@4.2.1","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"6d56dd41fb904962d59e8d917367c66ca42a88d8","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-4.2.1.tgz","fileCount":63,"integrity":"sha512-/qmPjlLkSVkI5Q2jalM/fxnQg4QiRSqCOFR/94veCzWaxDf/TmqsdIGP499qXNGUvI6OERxo+IQ69hEE/5TSiQ==","signatures":[{"sig":"MEQCIDv9SJiAkY+KeknTXToUee0yfw0pgR3ILjio8HFRX3SMAiBkjISleToN7d8ULVb0AOZrqzZCuNnYDeKRD64hfpNNYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2689961},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=10"},"gitHead":"6d60fb9dfe11a06e0b75d2df69cc20004c49bfb7","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk-protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"11.3.0","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"24.1.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","axios":"^1.9.0","winston":"^3.1.0","jsonwebtoken":"^9.0.2","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","mocha":"^10.2.0","sinon":"^9.0.2","eslint":"^8.57.0","prettier":"^2.0.5","@snyk/protect":"^1.657.0","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^8.10.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_4.2.1_1759899312404_0.7832289063823024","host":"s3://npm-registry-packages-npm-production"}},"4.2.2":{"name":"intuit-oauth","version":"4.2.2","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@4.2.2","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"3b7bf82c3642f29b6a45efb1c2a5d02b466cfaa6","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-4.2.2.tgz","fileCount":63,"integrity":"sha512-8H0O1sZlq7tsyarD+wpwcwNY4Ku30lc4b5aXKAGCQt64DvHLnMZvHQxjWFO1rRw91dDgUvTxP2och+9gfcKKhw==","signatures":[{"sig":"MEQCIBgPfzuznMRPSeL0a0krvd66eh1is8IXVitSj0zUL7aIAiA8sJgwRA0f9c6LjDBMmreXm2b0weditgY2y3gnjiASWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2741588},"main":"./src/OAuthClient.js","snyk":true,"engines":{"node":">=10"},"gitHead":"b0f21fd4c41b31783b7534e548e332078ac014d1","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk-protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"11.6.2","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"24.1.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","axios":"^1.9.0","winston":"^3.1.0","jsonwebtoken":"^9.0.2","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","mocha":"^10.2.0","sinon":"^9.0.2","eslint":"^8.57.0","prettier":"^2.0.5","@snyk/protect":"^1.657.0","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^8.10.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_4.2.2_1762746746938_0.10253409107484979","host":"s3://npm-registry-packages-npm-production"}},"4.2.3":{"name":"intuit-oauth","version":"4.2.3","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","_id":"intuit-oauth@4.2.3","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"}],"homepage":"https://github.com/intuit/oauth-jsclient","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"nyc":{"lines":95,"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules","test"],"branches":85,"reporter":["lcov","text","text-summary","html","json"],"functions":90,"statements":95,"check-coverage":true},"dist":{"shasum":"f2cc77e5c81a745e21dd649a306d4c459fecdac8","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-4.2.3.tgz","fileCount":64,"integrity":"sha512-VxVBTIY5O/wsx8E97q0QsZEeysbrN0Q4iCi6jWz+jQjmM1mHpPnpw6l7ho4dFLm1dLkvinbL4i+78nZlmnAlrw==","signatures":[{"sig":"MEYCIQDaA5MTXvgX+1PP71PHFnDGZhzc0XeKTNHNPcg5AzysQQIhAKp5YwUd4JBfoB/7YAbe/Fp7YjXB5qF+k1D9N4+IWkPB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2447341},"main":"./src/OAuthClient.js","snyk":true,"types":"./types/index.d.ts","engines":{"node":">=10"},"gitHead":"97b882525796d99e14b1256cd788ad0e3c1f227a","scripts":{"fix":"eslint . --fix","lint":"eslint .","snyk":"snyk test","test":"nyc mocha","karma":"karma start karma.conf.js","start":"node index.js","posttest":"nyc check-coverage","prepublish":"npm run snyk-protect","test-debug":"mocha --inspect-brk --watch test","test-watch":"mocha --watch --reporter=spec","snyk-protect":"snyk-protect","clean-install":"rm -rf node_modules && npm install","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html"},"_npmUser":{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"}},"repository":{"url":"git+https://github.com/intuit/oauth-jsclient.git","type":"git"},"_npmVersion":"11.6.2","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","directories":{},"_nodeVersion":"24.1.0","dependencies":{"atob":"2.1.2","csrf":"^3.0.4","axios":"^1.9.0","winston":"^3.1.0","jsonwebtoken":"^9.0.2","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","btoa":"^1.2.1","chai":"^4.1.2","nock":"^9.2.3","mocha":"^11.7.5","sinon":"^9.0.2","eslint":"^8.57.0","prettier":"^2.0.5","@snyk/protect":"^1.657.0","chai-as-promised":"^7.1.1","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^8.10.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/intuit-oauth_4.2.3_1775851886948_0.8570651024769453","host":"s3://npm-registry-packages-npm-production"}},"4.2.5":{"name":"intuit-oauth","version":"4.2.5","description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","main":"./src/OAuthClient.js","types":"./types/index.d.ts","scripts":{"start":"node index.js","karma":"karma start karma.conf.js","test":"nyc mocha","snyk":"snyk test","lint":"eslint .","fix":"eslint . --fix","posttest":"nyc check-coverage","test-watch":"mocha --watch --reporter=spec","test-debug":"mocha --inspect-brk --watch test","show-coverage":"npm test; open -a 'Google Chrome' coverage/index.html","clean-install":"rm -rf node_modules && npm install","snyk-protect":"snyk-protect","prepublish":"npm run snyk-protect"},"keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"nyc":{"exclude":["node_modules","bin","coverage",".nyc_output","sample","sample/node_modules","test"],"check-coverage":true,"lines":95,"statements":95,"functions":90,"branches":85,"reporter":["lcov","text","text-summary","html","json"]},"engines":{"node":">=10"},"repository":{"type":"git","url":"git+https://github.com/intuit/oauth-jsclient.git"},"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"homepage":"https://github.com/intuit/oauth-jsclient","dependencies":{"atob":"2.1.2","axios":"^1.18.1","csrf":"^3.0.4","jsonwebtoken":"^9.0.2","query-string":"^6.12.1","rsa-pem-from-mod-exp":"^0.8.4","winston":"^3.1.0"},"devDependencies":{"@snyk/protect":"^1.657.0","btoa":"^1.2.1","chai":"^4.1.2","chai-as-promised":"^7.1.1","eslint":"^8.57.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^8.10.0","eslint-plugin-import":"^2.29.1","mocha":"^11.7.5","nock":"^9.2.3","nyc":"^18.0.0","prettier":"^2.0.5","sinon":"^9.0.2"},"snyk":true,"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"}},"_id":"intuit-oauth@4.2.5","gitHead":"26853935a71bf1bf5f11ed0ecbb3c0d4ab87ae03","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Hd9es69/0dpx9XMZww5t5XKNElIk2Uo4h8bkthz5CG53nvuYz32IUu3vvx9NcRpDGTzZnD4FddSHloXKY/wzXA==","shasum":"eac8887bb50cd05905b65f818388006351933e55","tarball":"https://registry.npmjs.org/intuit-oauth/-/intuit-oauth-4.2.5.tgz","fileCount":13,"unpackedSize":133156,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAqtdiioYPCa0TPo93JnAPxqM77g4xOudy1+BkZAGOVkAiBWqNjrOj/aEs5i+LUj1XsI/j/YIvZuzo2lIrxHisy/JA=="}]},"_npmUser":{"name":"noneal","email":"nathaniel_oneal@intuit.com"},"directories":{},"maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"},{"name":"noneal","email":"nathaniel_oneal@intuit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/intuit-oauth_4.2.5_1784158618766_0.6650549622947493"},"_hasShrinkwrap":false}},"time":{"created":"2018-10-05T06:56:50.321Z","modified":"2026-07-15T23:36:59.071Z","1.0.0":"2018-10-04T06:37:00.805Z","1.0.1":"2018-10-05T06:56:50.461Z","1.0.2":"2018-10-05T17:07:02.376Z","1.0.3":"2018-11-30T23:49:10.339Z","1.1.0":"2018-12-15T02:15:59.289Z","1.1.1":"2018-12-17T23:37:22.063Z","1.1.2":"2019-02-12T00:18:33.318Z","1.1.3":"2019-03-12T20:14:17.555Z","1.2.0":"2019-04-25T18:18:27.065Z","1.3.0":"2019-07-09T00:29:18.729Z","1.4.0":"2019-07-19T23:50:19.197Z","1.5.0":"2019-08-23T23:23:07.894Z","2.0.0":"2019-10-18T01:40:24.104Z","2.0.1":"2020-01-02T21:45:14.727Z","2.0.2":"2020-01-03T18:57:14.928Z","2.1.0":"2020-04-10T23:34:31.728Z","3.0.0":"2020-05-13T00:43:16.855Z","3.0.1":"2020-05-13T21:12:04.707Z","3.0.2":"2020-07-10T01:06:14.578Z","4.0.0":"2021-05-27T20:30:23.488Z","4.1.0":"2024-03-08T22:10:36.214Z","4.1.1":"2024-03-15T07:56:23.282Z","4.1.2":"2024-03-28T00:07:16.242Z","4.1.3":"2024-11-06T05:29:41.739Z","4.2.0":"2025-02-04T04:46:18.690Z","4.2.1":"2025-10-08T04:55:12.657Z","4.2.2":"2025-11-10T03:52:27.239Z","4.2.3":"2026-04-10T20:11:27.156Z","4.2.5":"2026-07-15T23:36:58.925Z"},"bugs":{"url":"https://github.com/intuit/oauth-jsclient/issues"},"author":{"name":"Anil Kumar","email":"anil_kumar3@intuit.com"},"license":"Apache-2.0","homepage":"https://github.com/intuit/oauth-jsclient","keywords":["intuit-oauth","intuit-oauth-nodejs","intuit-nodejs","oauth2.0","openid","openidConnect","quickbooks-accounting","quickbooks-payment"],"repository":{"type":"git","url":"git+https://github.com/intuit/oauth-jsclient.git"},"description":"Intuit Node.js client for OAuth2.0 and OpenIDConnect","maintainers":[{"name":"abisalehalliprasan","email":"anil_kumar3@intuit.com"},{"name":"rgupta24723","email":"rajesh.gupta723@gmail.com"},{"name":"noneal","email":"nathaniel_oneal@intuit.com"}],"readme":"[![SDK Banner](views/SDK.png)][ss1]\n\n[![Build Status](https://travis-ci.org/intuit/oauth-jsclient.svg?branch=master)](https://travis-ci.org/intuit/oauth-jsclient?branch=master)\n[![NPM Package Version](https://img.shields.io/npm/v/intuit-oauth.svg?style=flat-square)](https://www.npmjs.com/package/intuit-oauth)\n[![Coverage Status](https://coveralls.io/repos/github/intuit/oauth-jsclient/badge.svg?branch=master)](https://coveralls.io/github/intuit/oauth-jsclient?branch=master)\n[![GitHub contributors](https://img.shields.io/github/contributors/intuit/oauth-jsclient?style=flat-square)](https://github.com/intuit/oauth-jsclient/graphs/contributors)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/intuit/oauth-jsclient/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/intuit/oauth-jsclient/?branch=master)\n![npm](https://img.shields.io/npm/dm/intuit-oauth?style=flat-square)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=shield)](https://github.com/prettier/prettier)\n[![Known Vulnerabilities](https://snyk.io/test/github/intuit/oauth-jsclient/badge.svg)](https://snyk.io/test/github/intuit/oauth-jsclient)\n\n# OAuth Client for Intuit\n\nA Node.js client for Intuit's OAuth 2.0 implementation.\n\n## Features\n\n- OAuth 2.0 authentication flow\n- Token management and refresh\n- API request handling with automatic base URL resolution\n- **Comprehensive error handling** with custom error types (OAuthError, ValidationError, TokenError)\n- **Full HTTP status code support** (400, 401, 403, 404, 429, 500, 502, 503, 504)\n- **QuickBooks Fault object parsing** for detailed validation errors\n- Automatic retry for transient errors with exponential backoff\n- Structured logging with Winston\n- Response validation and transformation\n\n## Installation\n\n```bash\nnpm install intuit-oauth\n```\n\n## Usage\n\n```javascript\nconst OAuthClient = require('intuit-oauth');\n\nconst oauthClient = new OAuthClient({\n  clientId: 'your_client_id',\n  clientSecret: 'your_client_secret',\n  environment: 'sandbox', // or 'production'\n  redirectUri: 'http://localhost:8000/callback',\n  logging: true // Enable logging\n});\n```\n\n## Error Handling\n\nThe client provides comprehensive error handling with custom error types and full HTTP status code support:\n\n### Error Types\n\n- **`OAuthError`**: Base error class for all OAuth and API errors\n  - Includes error code, description, and Intuit transaction ID\n  - Supports QuickBooks Fault object details\n  - Available for all HTTP status codes (400, 401, 403, 404, 429, 500, 502, 503, 504)\n- **`ValidationError`**: For input validation errors\n- **`TokenError`**: For token-related errors (expired, invalid, etc.)\n- **`NetworkError`**: For network connectivity issues\n\nAll errors include detailed debugging information and are properly thrown (never returned as successful responses).\n\n### OAuth2 Error Response Handling\n\nWhen OAuth operations fail (e.g., `createToken()`, `refresh()`), the library now properly surfaces the full error response from QuickBooks:\n\n```javascript\ntry {\n  const authResponse = await oauthClient.createToken(code);\n  const token = authResponse.getToken();\n} catch (error) {\n  // Access detailed OAuth2 error information\n  console.error('OAuth Error:', error.error); // e.g., \"invalid_grant\"\n  console.error('Description:', error.error_description); // e.g., \"Token invalid\"\n  console.error('Transaction ID:', error.intuit_tid); // For debugging with QuickBooks support\n  console.error('Full response:', error.authResponse.json); // Complete error payload\n  \n  // Handle specific OAuth2 errors\n  if (error.error === 'invalid_grant') {\n    // Authorization code expired or invalid - redirect user to re-authorize\n  } else if (error.error === 'invalid_client') {\n    // Client credentials are invalid - check configuration\n  }\n}\n```\n\n### Error Handling Demo\n\nTry the interactive error handling demo to see how OAuth2 errors are surfaced:\n\n```bash\nnode test/error-handling-demo.js\n```\n\nThis demo script demonstrates:\n- How OAuth2 error responses are captured and surfaced\n- Full error details including error codes, descriptions, and transaction IDs\n- Programmatic error handling based on error types\n\nExample error handling:\n\n```javascript\ntry {\n  await oauthClient.makeApiCall({ url: 'https://api.example.com' });\n} catch (error) {\n  if (error instanceof TokenError) {\n    // Handle token errors\n    console.error('Token error:', error.code, error.description);\n  } else if (error instanceof NetworkError) {\n    // Handle network errors\n    console.error('Network error:', error.message);\n  } else if (error instanceof ValidationError) {\n    // Handle validation errors\n    console.error('Validation error:', error.message);\n  } else {\n    // Handle other errors\n    console.error('Unexpected error:', error);\n  }\n}\n```\n\n### Common OAuth2 Errors\n\nThe library properly handles and surfaces these QuickBooks OAuth2 errors:\n\n| Error Code | Description | Typical Cause | Recommended Action |\n|------------|-------------|---------------|-------------------|\n| `invalid_grant` | Authorization grant is invalid, expired, or revoked | User needs to re-authorize | Redirect user to authorization URL |\n| `invalid_client` | Client authentication failed | Invalid clientId/clientSecret | Verify OAuth credentials in config |\n| `invalid_request` | Request is malformed or invalid | Incorrect request parameters | Check authorization code and redirect URI |\n| `unauthorized_client` | Client is not authorized | Missing required permissions | Check app configuration and scopes |\n| `unsupported_grant_type` | Grant type not supported | Wrong grant_type parameter | Use 'authorization_code' or 'refresh_token' |\n\n### HTTP Status Code Handling\n\nThe library includes comprehensive error handling for all HTTP status codes:\n\n| Status Code | Error Type | Description |\n|-------------|------------|-------------|\n| `400` | Bad Request | Validation errors, includes QuickBooks Fault object details |\n| `401` | Unauthorized | Invalid or expired access token |\n| `403` | Forbidden | Insufficient permissions |\n| `404` | Not Found | Resource not found |\n| `429` | Rate Limited | Too many requests |\n| `500` | Internal Server Error | Server-side error |\n| `502` | Bad Gateway | Gateway error |\n| `503` | Service Unavailable | Service temporarily unavailable |\n| `504` | Gateway Timeout | Gateway timeout |\n\nAll errors include:\n- Detailed error messages\n- HTTP status codes\n- Transaction IDs (`intuit_tid`) for support\n- Full response data for debugging\n\n### QuickBooks Fault Object Handling\n\nWhen QuickBooks API returns validation errors, the library properly parses and surfaces Fault objects:\n\n```javascript\ntry {\n  await oauthClient.makeApiCall({ \n    url: '/v3/company/123/customer',\n    method: 'POST',\n    body: invalidData \n  });\n} catch (error) {\n  // Access Fault object details\n  if (error.fault) {\n    console.log('Fault Type:', error.fault.type);  // e.g., \"ValidationFault\"\n    console.log('Errors:', error.fault.errors);    // Array of error details\n    error.fault.errors.forEach(err => {\n      console.log('Message:', err.message);\n      console.log('Detail:', err.detail);\n      console.log('Code:', err.code);\n    });\n  }\n}\n```\n\n### Debugging OAuth Errors\n\nWhen an OAuth error occurs, use these debugging strategies:\n\n1. **Log full error details**:\n   ```javascript\n   console.log('Error Code:', error.error);\n   console.log('Description:', error.error_description);\n   console.log('Transaction ID:', error.intuit_tid);\n   console.log('Full Response:', JSON.stringify(error.authResponse.json, null, 2));\n   ```\n\n2. **Use the Transaction ID**: Contact QuickBooks support with the `intuit_tid` from the error for detailed troubleshooting\n\n3. **Check error code**: Different error codes require different handling strategies (see table above)\n\n4. **Examine response body**: `error.authResponse.body` contains the raw response string for detailed debugging\n\n5. **Enable logging**: Set `logging: true` in OAuthClient config to capture detailed logs in `logs/oAuthClient-log.log`\n\n## Retry Logic\n\nThe client includes automatic retry logic for transient errors:\n\n- Maximum 3 retries\n- Exponential backoff (1s, 2s, 4s)\n- Retries on specific status codes (408, 429, 500, 502, 503, 504)\n- Retries on network errors (ECONNRESET, ETIMEDOUT, ECONNREFUSED)\n\nYou can configure retry behavior:\n\n```javascript\nOAuthClient.retryConfig = {\n  maxRetries: 3,\n  retryDelay: 1000,\n  retryableStatusCodes: [408, 429, 500, 502, 503, 504],\n  retryableErrors: ['ECONNRESET', 'ETIMEDOUT', 'ECONNREFUSED']\n};\n```\n\n## Logging\n\nThe client provides structured logging when enabled:\n\n```javascript\nconst oauthClient = new OAuthClient({\n  // ... other config\n  logging: true\n});\n```\n\nLog entries include:\n- Timestamp\n- Log level\n- Message\n- Request context (URL, method, headers)\n- Error details (for error logs)\n- Environment information\n- Client ID\n\nExample log entry:\n```json\n{\n  \"timestamp\": \"2024-03-14T12:00:00.000Z\",\n  \"level\": \"error\",\n  \"message\": \"API call failed\",\n  \"data\": {\n    \"error\": {\n      \"name\": \"TokenError\",\n      \"code\": \"UNAUTHORIZED\",\n      \"message\": \"Invalid or expired access token\",\n      \"stack\": \"...\",\n      \"intuit_tid\": \"1234-1234-1234-123\"\n    }\n  },\n  \"environment\": \"sandbox\",\n  \"clientId\": \"your_client_id\",\n  \"request\": {\n    \"url\": \"https://api.example.com\",\n    \"method\": \"GET\",\n    \"headers\": {\n      \"Authorization\": \"Bearer ...\",\n      \"Accept\": \"application/json\"\n    }\n  }\n}\n```\n\n## Response Validation\n\nThe client validates responses and throws appropriate errors for common scenarios:\n\n- 401 Unauthorized: Invalid or expired access token\n- 403 Forbidden: Insufficient permissions\n- 429 Too Many Requests: Rate limit exceeded\n- Missing or invalid response data\n- Invalid content types\n\n## API Reference\n\n### OAuthClient\n\n#### constructor(config)\nCreates a new OAuthClient instance.\n\n```javascript\nconst oauthClient = new OAuthClient({\n  clientId: 'your_client_id',\n  clientSecret: 'your_client_secret',\n  environment: 'sandbox',\n  redirectUri: 'http://localhost:8000/callback',\n  logging: true\n});\n```\n\n#### makeApiCall(params)\nMakes an API call with automatic retry and error handling.\n\n```javascript\nconst response = await oauthClient.makeApiCall({\n  url: 'https://api.example.com',\n  method: 'GET',\n  headers: {\n    'Custom-Header': 'value'\n  },\n  body: {\n    key: 'value'\n  }\n});\n\n// Access response data - both formats supported for backward compatibility\nconsole.log(response.data);   // Recommended (works in all versions)\nconsole.log(response.json);   // Also supported (4.2.1+)\n\n// Response includes:\n// - response.data: Response data (all versions)\n// - response.json: Response data (4.2.1+, same as response.data)\n// - response.body: Response as string\n// - response.status: HTTP status code\n// - response.statusText: HTTP status text\n// - response.headers: Response headers\n```\n\n**Response Format Note**: Version 4.2.1 introduced a breaking change that removed `response.data` in favor of `response.json`. Version 4.2.3 restored `response.data` for backward compatibility. Both `response.data` and `response.json` now return the same value, so you can use either.\n\n#### validateResponse(response)\nValidates an API response and throws appropriate errors.\n\n```javascript\ntry {\n  oauthClient.validateResponse(response);\n} catch (error) {\n  // Handle validation errors\n}\n```\n\n## License\n\nApache License 2.0\n\n# Intuit OAuth2.0 NodeJS Library\n\nThe OAuth2 Nodejs Client library is meant to work with Intuit's\n[OAuth2.0](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0)\nand\n[OpenID Connect](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/openid-connect)\nimplementations which conforms to the specifications.\n\n## Table of Contents\n\n- [Intuit OAuth2.0 NodeJS Library](#intuit-oauth20-nodejs-library)\n  - [Table of Contents](#table-of-contents)\n- [Requirements](#requirements)\n- [Installation](#installation)\n  - [Using NodeJS](#using-nodejs)\n    - [Options :](#options)\n- [Usage](#usage)\n  - [Authorization Code Flow](#authorization-code-flow)\n    - [Step 1](#step-1)\n    - [Scopes :](#scopes)\n    - [Step 2](#step-2)\n- [Sample](#sample)\n  - [Helpers](#helpers)\n    - [Is AccessToken Valid](#is-accesstoken-valid)\n    - [Refresh access_token](#refresh-access_token)\n    - [Refresh access_token by passing the refresh_token explicitly](#refresh-access_token-by-passing-the-refresh_token-explicitly)\n    - [Revoke access_token](#retrieve-the-token-)\n    - [Getter / Setter for Token](#getter--setter-for-token)\n      - [Retrieve the Token :](#retrieve-the-token)\n      - [Set the Token :](#set-the-token-)\n    - [Migrate OAuth1.0 Tokens to OAuth2.0](#migrate-oauth10-tokens-to-oauth20)\n    - [Validate ID Token](#validate-id-token)\n    - [Make API call](#make-api-call)\n    - [Auth-Response](#auth-response)\n    - [Error Logging](#error-logging)\n  - [FAQ](#faq)\n  - [Contributing](#contributing)\n    - [Steps](#steps)\n  - [Changelog](#changelog)\n  - [License](#license)\n\n# Requirements\n\nThe Node.js client library is tested against the `Node 10` and newer versions.\n\n| Version                                                                          | Node support                      |\n|----------------------------------------------------------------------------------|-----------------------------------|\n| [intuit-oauth@1.x.x](https://github.com/intuit/oauth-jsclient/tree/1.5.0)        | Node 6.x or higher                |\n| [intuit-oauth@2.x.x](https://github.com/intuit/oauth-jsclient/tree/2.0.0)        | Node 7.x or higher                |\n| [intuit-oauth@3.x.x](https://github.com/intuit/oauth-jsclient/tree/3.0.2)        | Node 8.x or Node 9.x and higher   |\n\n**Note**: Older node versions are not supported.\n\n# Installation\n\nFollow the instructions below to use the library :\n\n## Using NodeJS\n\n1. Install the NPM package:\n\n   ```sh\n   npm install intuit-oauth --save\n   ```\n\n2. Require the Library:\n\n   ```js\n   const OAuthClient = require('intuit-oauth');\n\n   const oauthClient = new OAuthClient({\n     clientId: '<Enter your clientId>',\n     clientSecret: '<Enter your clientSecret>',\n     environment: 'sandbox' || 'production',\n     redirectUri: '<Enter your callback URL>',\n   });\n   ```\n\n### Options\n\n- `clientId` - clientID for your app. Required\n- `clientSecret` - clientSecret fpor your app. Required\n- `environment` - environment for the client. Required\n  - `sandbox` - for authorizing in sandbox.\n  - `production` - for authorizing in production.\n- `redirectUri` - redirectUri on your app to get the `authorizationCode` from Intuit Servers. Make sure this redirect URI is also added on your app in the [developer portal](https://developer.intuit.com) on the Keys & OAuth tab. Required\n- `logging` - by default, logging is disabled i.e `false`. To enable provide`true`.\n\n# Usage\n\nWe assume that you have a basic understanding about OAuth2.0. If not please read\n[API Documentation](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0)\nfor clear understanding\n\n## Authorization Code Flow\n\nThe Authorization Code flow is made up of two parts :\n\n**Step 1.** Redirect user to `oauthClient.authorizeUri(options)`.  \n**Step 2.** Parse response uri and get access-token using the function\n`oauthClient.createToken(req.url)` which returns a\n[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\n\n### Step 1\n\n```javascript\n// Instance of client\nconst oauthClient = new OAuthClient({\n  clientId: '<Enter your clientId>',\n  clientSecret: '<Enter your clientSecret>',\n  environment: 'sandbox',\n  redirectUri: '<http://localhost:8000/callback>',\n});\n\n// AuthorizationUri\nconst authUri = oauthClient.authorizeUri({\n  scope: [OAuthClient.scopes.Accounting, OAuthClient.scopes.OpenId],\n  state: 'testState',\n}); // can be an array of multiple scopes ex : {scope:[OAuthClient.scopes.Accounting,OAuthClient.scopes.OpenId]}\n\n// Redirect the authUri\nres.redirect(authUri);\n```\n\n### Scopes\n\nThe available scopes include :\n\n- `com.intuit.quickbooks.accounting` - for accounting scope include `OAuthClient.scopes.Accounting`\n- `com.intuit.quickbooks.payment` - for payment scope include `OAuthClient.scopes.Payment`\n- `com.intuit.quickbooks.payroll` - for QuickBooks Payroll API (whitelisted beta apps only)\n- `com.intuit.quickbooks.payroll.timetracking` - for QuickBooks Payroll API for for access to\n  compensation (whitelisted beta apps only)\n- `com.intuit.quickbooks.payroll.benefits` - for QuickBooks Payroll API for access to\n  benefits/pension/deduction (whitelisted beta apps only)\n\nOpenID Scopes :\n\n- `openid` - for openID assertion include `OAuthClient.scopes.OpenId`\n- `profile` - for profile assertion include `OAuthClient.scopes.Profile`\n- `email` - for email assertion include `OAuthClient.scopes.Email`\n- `phone` - for phone assertion include `OAuthClient.scopes.Phone`\n- `address` - for address assertion include `OAuthClient.scopes.Address`\n\n### Step 2\n\n```javascript\n// Parse the redirect URL for authCode and exchange them for tokens\nconst parseRedirect = req.url;\n\n// Exchange the auth code retrieved from the **req.url** on the redirectUri\noauthClient\n  .createToken(parseRedirect)\n  .then(function (authResponse) {\n    console.log('The Token is  ' + JSON.stringify(authResponse.getToken()));\n  })\n  .catch(function (e) {\n    console.error('The error message is :' + e.originalMessage);\n    console.error(e.intuit_tid);\n  });\n```\n\n# Sample\n\nFor more clarity, we suggest you take a look at the sample application below :  \n[sample](https://github.com/intuit/oauth-jsclient/tree/master/sample)\n\n## Helpers\n\n### Is AccessToken Valid\n\nYou can check if the `access_token` associated with the `oauthClient` is valid ( not expired ) or\nnot using the helper method.\n\n```javascript\nif (oauthClient.isAccessTokenValid()) {\n  console.log('The access_token is valid');\n}\n\nif (!oauthClient.isAccessTokenValid()) {\n  oauthClient\n    .refresh()\n    .then(function (authResponse) {\n      console.log('Tokens refreshed : ' + JSON.stringify(authResponse.getToken()));\n    })\n    .catch(function (e) {\n      console.error('The error message is :' + e.originalMessage);\n      console.error(e.intuit_tid);\n    });\n}\n```\n\n\\*\\* Note: If the access_token is not valid, you can call the client's `refresh()` method to refresh\nthe tokens for you as shown below\n\n### Refresh access_token\n\nAccess tokens are valid for 3600 seconds (one hour), after which time you need to get a fresh one\nusing the latest refresh_token returned to you from the previous request. When you request a fresh\naccess_token, always use the refresh token returned in the most recent token_endpoint response. Your\nprevious refresh tokens expire 24 hours after you receive a new one.\n\n```javascript\noauthClient\n  .refresh()\n  .then(function (authResponse) {\n    console.log('Tokens refreshed : ' + JSON.stringify(authResponse.getToken()));\n  })\n  .catch(function (e) {\n    console.error('The error message is :' + e.originalMessage);\n    console.error(e.intuit_tid);\n  });\n```\n\n### Refresh access_token by passing the refresh_token explicitly\n\nYou can call the below helper method to refresh tokens by explictly passing the refresh_token.  \n\\*\\*Note : `refresh_token` should be of the type `string`\n\n```javascript\noauthClient\n  .refreshUsingToken('<Enter the refresh token>')\n  .then(function (authResponse) {\n    console.log('Tokens refreshed : ' + JSON.stringify(authResponse.getToken()));\n  })\n  .catch(function (e) {\n    console.error('The error message is :' + e.originalMessage);\n    console.error(e.intuit_tid);\n  });\n```\n\n### Revoke access_token\n\nWhen you no longer need the access_token, you could use the below helper method to revoke the\ntokens.\n\n```javascript\noauthClient\n  .revoke()\n  .then(function (authResponse) {\n    console.log('Tokens revoked : ' + JSON.stringify(authResponse.json));\n  })\n  .catch(function (e) {\n    console.error('The error message is :' + e.originalMessage);\n    console.error(e.intuit_tid);\n  });\n```\n\nAlternatively you can also pass `access_token` or `refresh_token` to this helper method using the\n`params` object: refer to - [Getter / Setter for Token](#getter--setter-for-token) section to know\nhow to retrieve the `token` object\n\n```javascript\noauthClient\n  .revoke(params)\n  .then(function (authResponse) {\n    console.log('Tokens revoked : ' + JSON.stringify(authResponse.json));\n  })\n  .catch(function (e) {\n    console.error('The error message is :' + e.originalMessage);\n    console.error(e.intuit_tid);\n  });\n```\n\n** Note ** : `params` is the Token JSON object as shown below : ( _If you do not pass the `params`\nthen the token object of the client would be considered._)\n\n```\n{\n    \"token_type\": \"bearer\",\n    \"expires_in\": 3600,\n    \"refresh_token\":\"<refresh_token>\",\n    \"x_refresh_token_expires_in\":15552000,\n    \"access_token\":\"<access_token>\",\n    \"createdAt\": \"(Optional Default = Date.now()) <Milliseconds> from the unix epoch\"\n\n}\n```\n\n** Note ** :\n\n### Getter / Setter for Token\n\nYou can call the below methods to set and get the tokens using the `oauthClient` instance:\n\n#### Retrieve the Token :\n\n```javascript\n// To get the tokens\nlet authToken = oauthClient.getToken().getToken();\n\n`OR`;\n\nlet authToken = oauthClient.token.getToken();\n```\n\n#### Set the Token :\n\n```javascript\n// To Set the retrieved tokens explicitly using Token Object but the same instance\noauthClient.setToken(authToken);\n\nOR;\n\n// To set the retrieved tokens using a new client instance\nconst oauthClient = new OAuthClient({\n  clientId: '<Enter your clientId>',\n  clientSecret: '<Enter your clientSecret>',\n  environment: 'sandbox',\n  redirectUri: '<http://localhost:8000/callback>',\n  token: authToken,\n});\n```\n\nThe authToken parameters are as follows:\n\n```\n{\n    token_type: '<String>',\n    access_token: '<String>',\n    expires_in: '<Int> Seconds',\n    refresh_token: '<String>',\n    x_refresh_token_expires_in: '<Int>  Seconds',\n    id_token: \"(Optional Default = '') <String>\",\n    createdAt: '(Optional Default = Date.now()) <Milliseconds> from the unix epoch'\n}\n```\n\n**Note** :  \nThe OAuth Client library converts the accessToken and refreshToken expiry time to `TimeStamp`. If\nyou are setting a stored token, please pass in the `createdAt` for accurate experiations.\n\n```javascript\noauthClient.setToken(authToken);\n```\n\n### Migrate OAuth1.0 Tokens to OAuth2.0\n\nYou can call the below method to migrate the bearer / refresh tokens from OAuth1.0 to OAuth2.0. You\n\n```javascript\n// Fill in the params object ( argument to the migrate function )\n\nlet params = {\n  oauth_consumer_key: '<Enter oauth1ConsumerKey>',\n  oauth_consumer_secret: '<Enter oauth1ConsumerSecret>',\n  oauth_signature_method: 'HMAC-SHA1',\n  oauth_timestamp: Math.round(new Date().getTime() / 1000),\n  oauth_nonce: 'nonce',\n  oauth_version: '1.0',\n  access_token: '<Enter OAuth1.0 access_token>',\n  access_secret: '<Enter OAuth1.0 access_secret>',\n  scope: [OAuthClient.scopes.Accounting],\n};\n\noauthClient\n  .migrate(params)\n  .then(function (response) {\n    console.log('The response is ' + JSON.stringify(response));\n  })\n  .catch(function (e) {\n    console.log('The error is ' + e.message);\n  });\n```\n\n### Validate ID Token\n\nYou can validate the ID token obtained from `Intuit Authorization Server` as shown below :\n\n```javascript\noauthClient\n  .validateIdToken()\n  .then(function (response) {\n    console.log('Is my ID token validated  : ' + response);\n  })\n  .catch(function (e) {\n    console.log('The error is ' + JSON.stringify(e));\n  });\n\n// Is my ID token validated : true\n```\n\nThe client validates the ID Token and returns boolean `true` if validates successfully else it would\nthrow an exception.\n\n### Make API Call\n\nYou can make API call using the token generated from the client as shown below :\n\n```javascript\n// Body sample from API explorer examples\nconst body = {\n  TrackQtyOnHand: true,\n  Name: 'Garden Supplies',\n  QtyOnHand: 10,\n  InvStartDate: '2015-01-01',\n  Type: 'Inventory',\n  IncomeAccountRef: {\n    name: 'Sales of Product Income',\n    value: '79',\n  },\n  AssetAccountRef: {\n    name: 'Inventory Asset',\n    value: '81',\n  },\n  ExpenseAccountRef: {\n    name: 'Cost of Goods Sold',\n    value: '80',\n  },\n};\n\noauthClient\n  .makeApiCall({\n    url: 'https://sandbox-quickbooks.api.intuit.com/v3/company/1234/item',\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n    },\n    body: JSON.stringify(body),\n  })\n  .then(function (response) {\n    console.log('The API response is  : ' + response);\n  })\n  .catch(function (e) {\n    console.log('The error is ' + JSON.stringify(e));\n  });\n```\n\n\nYou can also make the calling using the endpoint path:\n\n```javascript\n// Body sample from API explorer examples\nconst body = {\n  TrackQtyOnHand: true,\n  Name: 'Garden Supplies',\n  QtyOnHand: 10,\n  InvStartDate: '2015-01-01',\n  Type: 'Inventory',\n  IncomeAccountRef: {\n    name: 'Sales of Product Income',\n    value: '79',\n  },\n  AssetAccountRef: {\n    name: 'Inventory Asset',\n    value: '81',\n  },\n  ExpenseAccountRef: {\n    name: 'Cost of Goods Sold',\n    value: '80',\n  },\n};\n\noauthClient\n  .makeApiCall({\n    url: '/v3/company/1234/item',\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n    },\n    body: JSON.stringify(body),\n  })\n  .then(function (response) {\n    console.log('The API response is  : ' + response);\n  })\n  .catch(function (e) {\n    console.log('The error is ' + JSON.stringify(e));\n  });\n```\n\n\n\nThe client validates the ID Token and returns boolean `true` if validates successfully else it would\nthrow an exception.\n\n#### Support for PDF format\nIn order to save the PDF generated from the APIs properly, the correct transport type should be passed into the `makeAPI()`.Below is an example of the same:\n```\n.makeApiCall({ url: `${url}v3/company/${companyID}/invoice/${invoiceNumber}/pdf?minorversion=59` , headers:{'Content-Type': 'application/pdf','Accept':'application/pdf'}, transport: popsicle.createTransport({type: 'buffer'})})\n```\nThe response is an actual buffer( binary BLOB) which could then be saved to the file. \n\n### Auth-Response\n\nThe response provided by the client is a wrapped response of the below items which is what we call\nauthResponse, lets see how it looks like:\n\n```text\n\n    1. response             // response from `HTTP Client` used by library\n    2. token                // instance of `Token` Object\n    3. body                 // res.body in `text`\n    4. json                 // res.body in `JSON`\n    5. intuit_tid           // `intuit-tid` from response headers\n\n```\n\nA sample `AuthResponse` object would look similar to :\n\n```json\n{\n  \"token\": {\n    \"realmId\": \"<realmId>\",\n    \"token_type\": \"bearer\",\n    \"access_token\": \"<access_token>\",\n    \"refresh_token\": \"<refresh_token>\",\n    \"expires_in\": 3600,\n    \"x_refresh_token_expires_in\": 8726400,\n    \"id_token\": \"<id_token>\",\n    \"latency\": 60000\n  },\n  \"response\": {\n    \"url\": \"https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer\",\n    \"headers\": {\n      \"content-type\": \"application/json;charset=UTF-8\",\n      \"content-length\": \"61\",\n      \"connection\": \"close\",\n      \"server\": \"nginx\",\n      \"strict-transport-security\": \"max-age=15552000\",\n      \"intuit_tid\": \"1234-1234-1234-123\",\n      \"cache-control\": \"no-cache, no-store\",\n      \"pragma\": \"no-cache\"\n    },\n    \"body\": \"{\\\"id_token\\\":\\\"<id_token>\\\",\\\"expires_in\\\":3600,\\\"token_type\\\":\\\"bearer\\\",\\\"x_refresh_token_expires_in\\\":8726400,\\\"refresh_token\\\":\\\"<refresh_token>\\\",\\\"access_token\\\":\\\"<access_token>\\\"}\",\n    \"status\": 200,\n    \"statusText\": \"OK\"\n  },\n  \"body\": \"{\\\"id_token\\\":\\\"<id_token>\\\",\\\"expires_in\\\":3600,\\\"token_type\\\":\\\"bearer\\\",\\\"x_refresh_token_expires_in\\\":8726400,\\\"refresh_token\\\":\\\"<refresh_token>\\\",\\\"access_token\\\":\\\"<access_token>\\\"}\",\n  \"json\": {\n    \"access_token\": \"<access_token>\",\n    \"refresh_token\": \"<refresh_token>\",\n    \"token_type\": \"bearer\",\n    \"expires_in\": \"3600\",\n    \"x_refresh_token_expires_in\": \"8726400\",\n    \"id_token\": \"<id_token>\"\n  },\n  \"intuit_tid\": \"4245c696-3710-1548-d1e0-d85918e22ebe\"\n}\n```\n\nYou can use the below helper methods to make full use of the Auth Response Object :\n\n```javascript\noauthClient.createToken(parseRedirect).then(function (authResponse) {\n  console.log('The Token in JSON is  ' + JSON.stringify(authResponse.json));\n  let status = authResponse.status();\n  let body = authResponse.text();\n  let jsonResponse = authResponse.json;\n  let intuit_tid = authResponse.get_intuit_tid();\n});\n```\n\n### Error Logging\n\nBy default the logging is `disabled` i.e set to `false`. However, to enable logging, pass\n`logging=true` when you create the `oauthClient` instance :\n\n```javascript\nconst oauthClient = new OAuthClient({\n  clientId: '<Enter your clientId>',\n  clientSecret: '<Enter your clientSecret>',\n  environment: 'sandbox',\n  redirectUri: '<http://localhost:8000/callback>',\n  logging: true,\n});\n```\n\nThe logs would be captured under the directory `/logs/oAuthClient-log.log`\n\nWhenever there is an error, the library throws an exception and you can use the below helper methods\nto retrieve more information :\n\n```javascript\noauthClient.createToken(parseRedirect).catch(function (error) {\n  console.log(error);\n});\n\n/**\n* This is how the Error Object Looks : \n{  \n   \"originalMessage\":\"Response has an Error\",\n   \"error\":\"invalid_grant\",\n   \"error_description\":\"Token invalid\",\n   \"intuit_tid\":\"4245c696-3710-1548-d1e0-d85918e22ebe\"\n}\n*/\n```\n\n## FAQ\n\n### Common Issues\n\n#### API calls fail after upgrading to version 4.2.1 or 4.2.2\n\n**Problem 1**: After upgrading from version 4.2.0 to 4.2.1, API calls started failing with `response.data is undefined`.\n\n**Cause**: Version 4.2.1 introduced an undocumented breaking change that removed `response.data` and replaced it with `response.json`.\n\n**Solution**: Upgrade to version 4.2.3 or later, which restores `response.data` for backward compatibility. Both `response.data` and `response.json` are now available:\n```javascript\nconst response = await oauthClient.makeApiCall({ url: '/v3/company/123/item' });\nconsole.log(response.data);  // ✅ Works in 4.2.0, 4.2.3+\nconsole.log(response.json);  // ✅ Works in 4.2.1+\n```\n\n**Problem 2**: After upgrading from version 4.2.0 to 4.2.1, API calls started failing with malformed header errors.\n\n**Cause**: Version 4.2.1 had a bug in the `makeApiCall` method where the Authorization header was incorrectly constructed, causing HTTP requests to have invalid headers.\n\n**Solution**: Upgrade to version 4.2.2 or later, which fixes this issue. The fix ensures the Authorization header is properly set as:\n```javascript\nAuthorization: `Bearer ${access_token}`\n```\n\n#### How do I enable logging?\n\nPass `logging: true` when creating the OAuthClient instance:\n```javascript\nconst oauthClient = new OAuthClient({\n  clientId: 'your_client_id',\n  clientSecret: 'your_client_secret',\n  environment: 'sandbox',\n  redirectUri: 'http://localhost:8000/callback',\n  logging: true // Enable logging\n});\n```\nLogs will be stored in `/logs/oAuthClient-log.log`\n\n#### How do I handle token expiration?\n\nAccess tokens expire after 1 hour (3600 seconds). You can check token validity and refresh:\n```javascript\nif (!oauthClient.isAccessTokenValid()) {\n  await oauthClient.refresh();\n}\n```\n\n#### What's the difference between relative and absolute URLs in makeApiCall?\n\nYou can use either format:\n- **Absolute URL**: `https://sandbox-quickbooks.api.intuit.com/v3/company/123/item`\n- **Relative URL**: `/v3/company/123/item` (the client will automatically prepend the correct base URL based on your environment)\n\n#### How do I customize retry behavior?\n\nConfigure the retry settings:\n```javascript\nOAuthClient.retryConfig = {\n  maxRetries: 3,\n  retryDelay: 1000, // milliseconds\n  retryableStatusCodes: [408, 429, 500, 502, 503, 504],\n  retryableErrors: ['ECONNRESET', 'ETIMEDOUT', 'ECONNREFUSED']\n};\n```\n\n#### How do I handle OAuth errors like invalid_grant?\n\nAs of version 4.2.2, the library properly surfaces OAuth2 error details. When an OAuth operation fails, you can access:\n\n```javascript\ntry {\n  const authResponse = await oauthClient.createToken(code);\n} catch (error) {\n  console.log('Error:', error.error); // e.g., \"invalid_grant\"\n  console.log('Description:', error.error_description); // e.g., \"Token invalid\"\n  console.log('Transaction ID:', error.intuit_tid); // For support\n  \n  // Handle specific errors\n  if (error.error === 'invalid_grant') {\n    // Redirect user to re-authorize\n  }\n}\n```\n\nRun the demo to see error handling in action:\n```bash\nnode test/error-handling-demo.js\n```\n\nSee the [Error Handling](#error-handling) section for complete details.\n\n#### Does createToken return errors or throw them?\n\n`createToken()` **always throws errors** and never returns them as successful results:\n\n✅ **On Success**: Returns an `AuthResponse` object with token data\n```javascript\nconst authResponse = await oauthClient.createToken(callbackUrl);\nconst token = authResponse.getToken(); // Access token data\n```\n\n❌ **On Error**: Throws an exception (never returns it)\n```javascript\ntry {\n  const authResponse = await oauthClient.createToken(callbackUrl);\n  // Success - use authResponse\n} catch (error) {\n  // Error thrown - handle it\n  console.error(error.error, error.error_description);\n}\n```\n\nThe library has comprehensive tests (131+ test cases) that verify this behavior is always correct.\n\nFor more questions, refer to our [FAQ wiki](https://github.com/intuit/oauth-jsclient/wiki/FAQ).\n\n## Contributing\n\n- You are welcome to send a PR to `develop` branch.\n- The `master` branch will always point to the latest published version.\n- The `develop` branch will contain the latest development/testing changes.\n\n### Steps\n\n- Fork and clone the repository (`develop` branch).\n- Run `npm install` for dependencies.\n- Run `npm test` to execute all specs.\n\n### Test Coverage\n\nThe library maintains comprehensive test coverage.\n\n#### Test Categories\n\n1. **OAuth Flow Tests**: Authorization, token creation, refresh, and revocation\n2. **Error Handling Tests**: HTTP status codes (400, 401, 403, 404, 429, 500, 502, 503, 504)\n3. **Fault Object Tests**: QuickBooks Fault response handling\n4. **Token Management Tests**: Token validation, expiration, and lifecycle\n5. **API Call Tests**: Request handling, retries, and response processing\n6. **Response Processing Tests**: AuthResponse object creation and data transformation\n\nRun tests with coverage report:\n```bash\nnpm test\n```\n\nView detailed HTML coverage report:\n```bash\nnpm test && open coverage/index.html\n```\n\n## Changelog\n\nSee the changelog [here](https://github.com/intuit/oauth-jsclient/blob/master/CHANGELOG.md)\n\n## License\n\nIntuit `oauth-jsclient` is licensed under the\n[Apache License, Version 2.0](https://github.com/intuit/oauth-jsclient/blob/master/LICENSE)\n\n[ss1]: https://help.developer.intuit.com/s/SDKFeedback?cid=1120\n","readmeFilename":"README.md"}