{"_id":"@badgateway/oauth2-client","_rev":"24-319b4bd2356f8929949e3526d9b14834","name":"@badgateway/oauth2-client","dist-tags":{"dev":"3.2.0-dev0","latest":"3.3.1"},"versions":{"2.0.12":{"name":"@badgateway/oauth2-client","version":"2.0.12","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.0.12","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"164420c0255ca2f8ced20ba8223a3b7629b26b33","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.0.12.tgz","fileCount":48,"integrity":"sha512-4lFwmfeeyjtNKzz2rs+X+jNmDiPI7Sh955A3aQpel0kTgFD/6rj4+jjB1xol2jKOtK+6eoC70tf3DYIWF5ZsFQ==","signatures":[{"sig":"MEUCIQC7H5qnDPV0kSbCg96Sdd/hP25sIeKGiA4vKHAxz7dcgwIgWssmVaCTNcOkv9scf/G12FAczOMw6W4+xuCnsYABHhs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":174034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJir62XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3vhAAgRzrs9VnCgIm9HiZk7vcTI0N7Vfhhzdm45c4y84ColYie5eg\r\nW8XA6v+Zaa5BH9OoJ0zm5/H2lLGPF1mf4cUL5zkdnEzUEiqzqD6htMd6EGAy\r\nzED5NkHJYvMe6pxCpQvB6tAFzz7+7SyIm9mzUv0CZLywaUxFl1vqS/8UeVLI\r\ne0hQeEQg3t18b1EgaOfgaIPk587eToJWUXdb4ox3sz1sap1PLobhVZpFfIRb\r\n1Rk8RZ//9SfFNt3vEU9eSui0ULPgZGtVMr/LG60JQj/CmS67klYtTjySnMBj\r\nGlFy1zo0OWuF3ZFdiF6N9V1suVyftB8JtH8USXiXPSP1LdkZnVpeNdGyLGPj\r\nMkAC2AyS2zF+cLy/0Cqmfi821kJeJqAWxuk7oUvS78BH8MLqS24BgMxiUa8w\r\nMevsdJZV3/VcRBjsKZw6ckqEkfN5dzquYNA0h5DCaXMFXG/2HRZfxku9waRb\r\nnmFtZf9AHmCoh/p4O6QP60nGZQvCaXfaVegWMaXmHAPVjjzuYtXV82ZfEt+7\r\nrau4rrpKz9mbQgpOpHorx9SHE54Zm933KVJDkUns8lmLWnOGARwJOCyJrMyK\r\npTHZC8CseGgA0qIWaPVGJf2RrZZY+OmJ+OuYE+hiS0RwNTmQ5ltLe9+4KS66\r\nICvKeU1Kyvq6oP9Rcx23m2rkicK3o+iD8FU=\r\n=p+ZU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","mocha":{"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"02a22770ccb4b7cc56d80600e786147e9f74f0f3","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"8.11.0","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.3.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^4.4.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^4.9.1","@types/mocha":"^9.1.1","@curveball/core":"^0.19.0","@curveball/bodyparser":"^0.4.14","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.0.12_1655680406943_0.2718582646170329","host":"s3://npm-registry-packages"}},"2.0.13":{"name":"@badgateway/oauth2-client","version":"2.0.13","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.0.13","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"7caa4e9fbbe11044a2adad5f462c24578c66f93c","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.0.13.tgz","fileCount":48,"integrity":"sha512-LDNfOhVhf4W6Ysdmrh1fCzcqyfir1OKwvbQxY2hdIMAnriTVzDFCn6q2BxfmqxV3qyHx6lL8Lye07v082DgkVg==","signatures":[{"sig":"MEUCICYoAU44bfc0NlYoSFqHVDUr/bQPvblVqEmfxq+H7Uv2AiEA3skyPTUJ8gZIpMub1lW4UTs/fYXN4rwrDwAa5vdoVHY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":174033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJir7YcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvahAAoRJMQqtWVpuHnqJl7yWhUeTcFj53vrPoRbT6JMWTCJpvunn2\r\nyLm835Tv+wGnu1hA6lyS9ek7Pu53wlE2YVsVo/QSojhvU2I/cfnkkq1ofm7g\r\nB9s83uD//UhCLbU37CAMsfXQQ8II986MxdSuH+2UIuSSmQd6huZh9dhevf1r\r\nMqG5QS27A8WpFvQY3HC7sq+7GosX0lZO9JLLKOQGZtIj+PUj3pBvqO/4XsuO\r\nKXRPqp+WSCvI0XkROvYxAxPcRHLTVDCW5CY1KAS0N1C2U5itDX0ES1virQO7\r\n9rtu5GwVFixP/wqzYUlixXHCla90oQZoTvMqpygTowxn1zn1IKVh9K/worPr\r\nmmP8eAK90UDvTKjd4T7/jDE8pAG7ERR+wpCE9bg6bhgDG62aAf2+9Er97sxr\r\nmVcCir522zXoYueEr4YvRn2JCr1zAXx/TrAhbteJG5YCQhpX67MkJCuoJYVq\r\nVhbHxAbMHoEWJ6irx9TUX3Ry6OovYsuGfJfDa0NiYsDvZ5HrR7B80tZtVgaM\r\nUYv2A2ZZL/pP9ZZjcnaK+Y8uRFKs3k/tWEe0cUrverG/2fhbI0S1JJDM0imI\r\nNMisSy5CCkm1NkxtWRg6tUk4KyI1elN3QkbLoGObzO+Le3g/VuwYyLMHH3GE\r\nHA//ud1FoGj8sk89bi5ToyWuyHZGjJJ8ioU=\r\n=UUNS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","mocha":{"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"4d4f480d49dd1cd82e03dd5f3d506c699b5f722a","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"8.11.0","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.3.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^4.4.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^4.9.1","@types/mocha":"^9.1.1","@curveball/core":"^0.19.0","@curveball/bodyparser":"^0.4.14","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.0.13_1655682588473_0.44872967043092493","host":"s3://npm-registry-packages"}},"2.0.14":{"name":"@badgateway/oauth2-client","version":"2.0.14","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.0.14","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"ea69595fa228b5361b45cbdaad1d295f4dad90d6","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.0.14.tgz","fileCount":48,"integrity":"sha512-bMyW7fqd35na/1x54HAX/K//3r8ilS5MOk0Nr+hKFSfFXMYWJnUSER990ZtCuKqdrWl0gYVCXcVN+IcqPxYDfw==","signatures":[{"sig":"MEUCIQCOM2BEKSwdAtpJHI0dTcEf6oNE6HFQu3itcamMPjmD+wIgWz2WZff3Jhbaatd1gTPWXXtBsc+7BALFRz0HXxT7le8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":174298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitQsIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrp6A/8CXXTSVqE8wNxg1kTTLT0+7ucvjDDftr7hx3245bXk+3AJFI9\r\npfC1FpOzp6bXzyA8W+fw9hJVe/rwI38NY35DeME7mCFfStdtOxc/th3dsDFx\r\nDlt2J6/tCus4/TYpLMeot4gYn7UqZRivOJBUqp5JInKo5WiSMwMHTVSmMTHw\r\nYWlMRveIC73I7kw6MDfpgsCD/Xojku0P90aBiJUDG3npbrpzAE4lYypmaxRO\r\nCsMhpmHvNg+9XoK8cDYDGAsf1AMGOzu2vXfXzs5fVk/UM5YwY3ODNqfS/r5G\r\nnCUInWKvW9wYmARKw9DsYWNBvfgGjZP9F4cyG4ljegUv6NFyWELTGCkcfZhG\r\niwI667rQeYf8Rxu5cooRmCU8kkhFdIXIZkl6sXvR958QwPTaKvlx/42fc6zW\r\nWNR9jgjt0RsEcNPmnGo4ZO9kZxAK5qkeQwaVKmDXXx4N/omdZQgHuGeKjEgo\r\nTKW9udz3qGp0Ie2dnvBLaSpGxK0rVCBPcXqwjq6Hj3bCGe5/GgAfJSB3owsS\r\nT3XRK62v9wmYpa8l7KI87JX9koKxE9fsnIF+ityks+eYkCqsrrTkX0B/N4sN\r\nu6o9rXGrd1sWH2C6t/TLgzkBWGqElPqtY/jrOFlaa1t6UsqduAPPSci3K4xV\r\nEPwO6xtTrYu6WTy8oRWPXedMA7532PtQv3M=\r\n=Hzk9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","mocha":{"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"186c332880f9d0a72e2b2cfb591d86d4a90c36a1","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"8.12.1","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.4.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^4.4.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^4.9.1","@types/mocha":"^9.1.1","@curveball/core":"^0.19.0","@curveball/bodyparser":"^0.4.14","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.0.14_1656032008334_0.6486808671275215","host":"s3://npm-registry-packages"}},"2.0.15":{"name":"@badgateway/oauth2-client","version":"2.0.15","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.0.15","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"380793b635cd5916966649962a7b9bb570bb30d2","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.0.15.tgz","fileCount":48,"integrity":"sha512-bB7I0tz0xi1EK2olzn/N8Q+FYdjW3CFR7mZWBgfwWrQDh7B7CzDanDZyN7wf41ZNXi92Ef/jAtYqRtenHx3r9g==","signatures":[{"sig":"MEQCIC7/XBbM7zpTC3v1uNgVJyBsB4Bxh1oUrzHFcGiwCunVAiBbgx13chsPsnaTUqNMzcSoTyTWtN8m4jOCf1gn7fq/YA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":176046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixzV3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoldw/8DxbErW8e6Pd3bwM8DctEBIP/FaOykcxNg32eOEQ5/CsjMDhg\r\nvv+9FvhZIAWU9cy1gNHVW0LOlCzutlt0+rIGJ3ZCHSu2Q/+dB+/98DmqYXHf\r\ngpuDK0EC/QxfdomfjeXe2yCG/hy412QcN3iD5QH+O+JPk7x9jtt39zCQKxsn\r\nqK89VFyiLregSPo21qq/+wras4xXZeJdW4UktYSIvId01/pAsKi1Wo8bfcJh\r\nduJd0buvMGEv7nKJsRWfmX/GAqV8ZOQxvLie05rE7oEfa7QdxbhS1+V4c8i3\r\nmwIRcNV8sVN/bYKdEVR2MfeqOWYDeEXp5kKBZjEQahQnfROmnaLyXnoBGNB2\r\nbXrQP5z9iXwNnxFA3YpzUBfhmb5/2Whhz8uGdlvyQKMdeu/wrTwqjyp/131B\r\ny6KZusvo/TU+0S1eCopknYp2iLWyn8vSe+9pZr3WMfE4Nm165GLpcPJv1QZc\r\nv2veoOEn2Eg3SePpxrPOg6sB7oE38piA9K9OgjdPP91TpN7FjLgtxCMh2cWo\r\napycs71y0X78sFY5gUKLFGuXY9GdcUOfpTrfYobRIX/q2wtxFAa1mdzuHqJt\r\n7U6iGyuqwZUoc1qI9oZmvQi/0qokYT/jw2JI0gy01U5csJHMojn+07wVrp3y\r\nEz7uYW3AdR0MtTywjXd16d49ibiPuAKKZ6k=\r\n=8wDT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"4ce9daf2bf6838fb1de13f5e2e2c514916611c66","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"8.12.1","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.4.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^4.4.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^4.9.1","@types/mocha":"^9.1.1","@curveball/core":"^0.19.0","@curveball/bodyparser":"^0.4.14","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.0.15_1657222519156_0.4292635217357379","host":"s3://npm-registry-packages"}},"2.0.16":{"name":"@badgateway/oauth2-client","version":"2.0.16","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.0.16","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"1345266b61c656bf8db2fb501bab90489d5edb62","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.0.16.tgz","fileCount":48,"integrity":"sha512-1cEFqHIqGGqXGRVPlpUIDuZtEU+FFSa+cAxz2oXZ1M5kBx47b+zD5X4L1dazcBZAlo3pazdpPigo+dpcmwv+6A==","signatures":[{"sig":"MEQCICN+EI8Sxq4JpocTues42AdSsV4wiIiTqxtA9L82OH0lAiAt5MVQIEzlqIZPZ/Awy/cxww6vAgN/cKPfxLz9tQs51Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":179129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2uY0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJUA//TgxpuzPxGxjGv303cKan4nhJ8IRxModTUSoj3IrCOn+Tu2Rd\r\nlY7vbzWJAy+EGhcnp4+kC7OlL1Y5U0KXF9raEv1+Uf/35zICh1Xub+otpjI6\r\nEFBGKNzIJVfAncimiC1RmAp5d2kgKMBJ77vHeMUWwHpGrLhph9/ydFW3Efae\r\nxiILYwh9bZvYgQVbOTW7QTGQHRO7+dwstuI6alooBTHBDwmj2rXGqpZ60dTD\r\nWl28+tt9jv7BcnWAHZVY+TQn3R6Z5+g4w7ROuA7vFcBW7SvextntUU6tK1M/\r\nCqZHaQmP9w56N6EbQvSpXTV4GcwrsQnRqBtrOwLs7L7cdMDkdag2Mi9+4ija\r\nHxwu5558lGIUvoxrjURV4glgi6BFwwiYf/vN+AyyvehggFo5p+5fgrwa6tOo\r\n4xvEXLolf+W9KiEnGDCorRwJhmwHJZpJgY9ughplPAyeUkyMcBCsdDHSRsif\r\n+tXq/6HGYxF6CrA1lmdVnqMPwKUuC0d/IgP2FDO8bTb5Pwkb9x1cSyLh4bzu\r\nH08H2r0tneJwC/NyXo6QF7EN1YRqdqcKk7rfBPMXAPgJ8FystJ+ISZOoxcr/\r\n/DA/4P/ttZO94dFtsLRoSVAJo8lUOHJ+ek0TZm1fJk8p8tPcy4EzRThjWY5g\r\nrwjGVJgbdc1TH/4BkVw8Ypflof+RfP9kS8g=\r\n=KeTq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"c74d474c6785fa3259940256cf68cd310bd37a4b","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"8.13.2","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.6.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^4.4.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^4.9.1","@types/mocha":"^9.1.1","@curveball/core":"^0.19.0","@curveball/bodyparser":"^0.4.14","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.0.16_1658512948292_0.26302752119867057","host":"s3://npm-registry-packages"}},"2.0.17":{"name":"@badgateway/oauth2-client","version":"2.0.17","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.0.17","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"205d7de1d42f7f6d5353e80289197576cb780480","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.0.17.tgz","fileCount":48,"integrity":"sha512-w3KIE0wCF2heYZyD3cf0IhbzCU0OtInwfyVdaisRSyo64UDpnFkFxK6GwstUi9oE8TvDuGmfKeUdDwDdLwvVZg==","signatures":[{"sig":"MEQCIEEAQpTCHK7XG3RndW0f+dlu2ziVQjXCTtYk4nqpu41nAiBbLqnftKDrsd+EoJTrIsnJO49tJ/f29WLPoVn36xB1DQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":179410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOeUtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqgcw//TSTOO0HXAhXQrvQaN8hTmQ1K/BYjyYfOaGpYc2stzZSEZBC1\r\nSH6MylDwcgYOJ+BlZSQBbE+sV9YTOZNeQg1Q9IJ9Xpr0paUBQAPoTQi/DA3B\r\nXfsihfuDXgsJVIdXwodgwJef2jgCJ0k1bgCcCFQVXhX+L9Tfn5JEdN4bXyXR\r\nwN7AukLVUC0KMcqPYZxz0piDFvUcuelEyGaT+P6rBD/jfczV4TKNCWb8VVsE\r\n7h8dMnFX30kwqH33FOWB5oTCCrTxbhLNnAMNztYoXhFABfjKz86L4qmKCtbJ\r\nBmzoBvhjiMjohm/o7B/qYRf+z0HAJOpdY3BFEf7b3/5HebIXSyfn4qOo1Sur\r\nM6lnIpwstehX4rMQ7wP5uxh8yBmBbtSH4A6GmT25qvAyM5MYg7X5wxm6IqJA\r\noVfiTTHuelKOA0GNckc4wRawNRLnzz4DFwwryuQpVrfUDEdrYcO79LBw2uhS\r\ntfUy236LtNY0DyMwDFdwVwmCMGbKEjHelkHky/Q7S0sVmd4N7xurqgi5MpO6\r\nlzTfMmuqjN+iDWZTu+toy9oNFgMdo8flOLf2G4W6Z4bvH2HE5VAH9ZfEy43U\r\nOBYyPfQF+wjnRXY3QLuv0ZdapD+cUGypDwfTUZXPKphp5IpbJite1Y5Wn7qj\r\nR8slI9sUY6MX18yf8tNOQN1jLlTvJ/N/kpM=\r\n=wg/f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"1cd259e8ea68d9c55a0de27725d2d6bea404244a","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"8.19.1","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.9.1","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^4.4.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^4.9.1","@types/mocha":"^10.0.0","@curveball/core":"^0.20.0","@curveball/bodyparser":"^0.5.0","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.0.17_1664738605405_0.5999518779951292","host":"s3://npm-registry-packages"}},"2.0.18":{"name":"@badgateway/oauth2-client","version":"2.0.18","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.0.18","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"2ab9e9082b8719a0f87fc26616f135d9bb5a3b76","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.0.18.tgz","fileCount":34,"integrity":"sha512-vAO/zglhSxp2BOZp+C6Jpym77qK2QQauChcOr6N18XVPikQN7FUzkhNzzhNlbMhpCElEB+K1k2DLyJ9VaFQ4AQ==","signatures":[{"sig":"MEUCIQDulmkKmr7SCx1k617cxeb0gyX54OB9T8e/96Dt+y27dwIgd0TOR0Mstm/7RGijMYU03e5Mj87pB/8DZojJaGf8dLM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":142795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkODjBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoZg/8D40MbSVNNT3exDB+0TneefcmZJPx6sYHwHA+L0dzSbEvhXSC\r\nJRoX3MKFeuCPnWyYukIhDaZbfI8nMPmseE4/d81qY5Dw0Lw1aKWf8R2nxBQL\r\n/6hulZPoDjugF64XtytSf8MAISJPjUPrFjLlEp3yxteI1i5shuLfnW7FNWuo\r\nzQ02kaxh0a4f2sFAqIGk07eBecxkhE7oBpXygEMVKS332z0MR3XK//2BfCRP\r\ntFBqc7IegWcJvUpqLUppdaJACHwoRjiCDQHFfN7M86bWxLH8ahZ4w4Z2p/hH\r\nog1ClZ3suQpD/ThFHKutMN9Mp3m6n3i/BkJiZRaYMSRygzg0W9Lf5ogjsoKQ\r\nGf1cmXhGW8b35a2hE4//lPG4vWeyQrpOFxzOXFdoAa8gRBRBf0+rO1jKETVV\r\nYcCI6aIv4RyVe2KmmT6cB1GJXvVHNwHQ/XBnKrZNe7mK89VPUp+qwZDaE9d8\r\n4/a15lnGYrIstcrQ0bw9ByPmGc1cAaV5J7r0qdce0ZU91afPZj5KgV+Jdmv9\r\n2lLMF7tWLfmukY/KgWa9G7RV0xTOW/U27ZAl+GVrjmbh6d2h2OiXCTRxcUo6\r\nNoerNGPLGTROViHU+jgE6yD26X4iIDBZPLqYX+6XdZ9rESVuH4YmsOnengik\r\nSZ8mYQweakbXS/Z1JEw+KyZG2uI6O+wsHEo=\r\n=kWW0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"048b4e6a6e268736075a885e47b12ab3dfa29e4b","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"9.5.0","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.15.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.0.18_1681406144812_0.6680120037955766","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@badgateway/oauth2-client","version":"2.1.0","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.1.0","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"4ec8ae92b1a00b518a5fee240b256077cb0d1214","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.1.0.tgz","fileCount":35,"integrity":"sha512-zuWm+BpsGl0Um22AuzPcNKXtIPpnOa/ZIh7vsF2X6xYJQuLc/4bDmiZn6izRtdNffxYpHvBCNAAyDMx/qRFyRA==","signatures":[{"sig":"MEUCIQDlRvTPuZ56WCCS9dvr/1j7LDJ1IkZemobXPMj8+ZKK9gIgJDfyar2+h+yNTPaBHRBFBBsHn0F5kZJCRGfGbK+3HI8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":151846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQbQlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokiA/+OrnIgIsiVLasr61jqxPX2LpH0sJ3TYg8RQlxOCi2WrFWSrtq\r\nS05AIMRvJGrz1dPAZ3q4oaaJRWEOotJHnl1fgIYtzEw48/0bsb/wLtv43cU/\r\ndb6/zx2D3rasRbkyO9RKbl8NFuHWJAs3ejnOWIYnsHpHk28F8Njrfvjvbld2\r\nlIXuWyH9/6MtptnyBWA2q0gyQKXnLogKNwVWlfOMQg6/mjfFhYqbFdN/3C4e\r\nL8J030lIqfYoVNIJkEu4hbmMxnjvErNfxEtsACfXbSkpLwQ+sbZwm0hM3W94\r\n96v8rsx+y+QxOhHVJUFYix0OC6X8flHfN/h63O4FV+1OH0+1cMjMUK8HCXWT\r\nRjDqVPhyUKVIsaTPLBryU7TiXSKmsLCuRHnawCGjBs/DQUTaTDFe0uqSKN7E\r\nn/LumLVAJ8M6WDVgsbyf9Cl+D5GICcjtx3O0iNjRM9uahC462JbqtYsrKcuO\r\nUX9I0sGOBw+b/23Tj9j4syFO2bVZaA32fyIADzI+iTWLohzcfPdF9BGcARaI\r\n9Mt/PYUXZOx9dxZll+yRLQa17OrB0Dm176xsHsKnqVvbNYXV2BUyIO7CNjOB\r\nNo5zRi6jJ+cGkd9HhXtaH+JJHBGINU2ogxSpd0fVV0VMygKQQFDpLGIeozEu\r\nmpbFfE9QzUwmtTUNCaxrlm+a8XAhhGWVrik=\r\n=D41F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"4c98a899b8a7415a87fc986cbe80b342c3c04318","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"9.5.0","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.15.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.1.0_1682027557137_0.98562052412497","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"@badgateway/oauth2-client","version":"2.1.1","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.1.1","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"b9cce98296ffaaeb167645b0bd82f0a62b165d28","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.1.1.tgz","fileCount":34,"integrity":"sha512-O0XyxUfhO1dpNZXl7luDk+a155EtHslX+GVgjguy7fVZk55pJgChaK9exGD/lUcRoZHS/u/YSfhzbQWyESUWwg==","signatures":[{"sig":"MEYCIQDrzzyJZvqKO0WdTbZVfr/NKYVr+YTRbDzZwExGA/4RngIhALiXy26IXeMQswm9EI/gpHIN9ap5uxiNRVwbVSXk+h/T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":150266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRd/1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAkw/9HxoU5hAhbpcj71CJpJ7I6StqWkhLbdITyUBmsaZ2aYel05Tg\r\n3BPkgibF2CtYOHlfT38OhXmLgDPKr94Pid/YJ1p4F7eXF538/9F9ED7mTv+A\r\ns6jA9efy2BzrR2stal9XuIknmRVbOwUZagIWlEAyFPRrPdd8mj/mhvpvRydK\r\nLbzlKnwObE5nyhG4SEDb0/dHwP/y60++lq7j76UfbaREKMv5gTyxu6f61AOb\r\nIoXxpocWiKmuKr/FYX0A/QW8RWdMjfCL3v5rjCMvcZFytFpZ2omF/pGtDz1P\r\nmoAyUxEFmvUcPt5ElGfW3XKJaCNtGQ0TsLxHLOEHgHc0I83wul05qZBIZxYN\r\ntDYdHGatGIiQHha9K+Md+8UefPOPCV6mz9Au9affPRUykVl0q61ZSEyVUy7y\r\nvfqsiIhU/qX5XzIk4Sv8BZcPIJ3aQJTp9KGjRJt/+reL0BpW0Rx1r88dZjTO\r\nRNCsM07mnDVB0hnP8IxDcxj2+muD7EGtDyTSeKIk97Vl4kSSoZtai7pMMkSg\r\nCFzDVIxPMGBYqmuVlvNje/fbspt/SNj6/Le6BRkyyO2ZHYfVtn2v3pDRP1YB\r\n/b8kaNudSpVeX19fIV55hQGg+NXfx5ZZDj4Z/PmBIsKSrZdGjY8uwqY9YjMH\r\nv/jz0iiWghGd0fO06jWCTSRzfJb64EOq0q4=\r\n=XfvL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"2c1fdedeab14888c1bfad237259d756e2e8f0936","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"9.5.1","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.1.1_1682300917093_0.24363803916726212","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@badgateway/oauth2-client","version":"2.2.0","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.2.0","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"c868576329af49104b32c07660c4f8b11363e292","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.2.0.tgz","fileCount":34,"integrity":"sha512-P8roB2b800UOW9Lny8tzhhi/ZUH7rYcS+O+GOdeJT6waPRjU1JQLPfybCR9Rr58INQbbTXExtZbQqovZCAGP2g==","signatures":[{"sig":"MEUCIQDeuwFnwXETNGcYMcMEhlcr6MTKh2+Zu2zSrP8LC1CT0wIgMYuwREKZlw0Etzw2mPrlY9AxR67/3pCHw0RyS2aennI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":151591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSat9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTYA//Rt01owKPRGD4plxeXzAh7TI+MgKTRj1ztFaJMbixA6vycEeX\r\nBcwJiBcf2S95MHfKQKY/gaXJwo+iMhViHNAwP69yQ6StrANPjPglcWXhEEpD\r\n/fpr0bqDtAiEi007qZF9spCMkyXH9Sp5wHf3H9sZ4O366rTN9f8CpBSK2E4P\r\nd7XwnyAiASysjefh3Xu8FAMVtCxMWynkAxxOROZYonnwYwkpzVLfO+gZuLnS\r\nhokx2ZZMBeQrMqztShxqZgRDNVGPLrTC/3MMx8fD+6ol8twdQQYbAomwMFFR\r\nMI069UpfM6/siEMF4VsD/2AWX6eTQKMxP42Yg2yazynbhjTxCOEqaQaoUk+n\r\n+/UoFrJ40TckuS39z0mAjHEQswjdSV8Fya6GzonhIDJSoSmCnf/HiMrctcQX\r\nEIGBxzid6yG1kkVitcE4S44dUgeR35mn3O32jtN5kVkHF9RzlRQuCcwaoP5r\r\nR/EEi/5vwD0fmhr3mLpT6Bf8/1vOd5lCWLPDu4BQZzx8mC+jrBaO4Pwvctu/\r\nS0YECyPmHY2wXqaoWXEZrphiXjO74ElFmsPb5kdrg2o0bN6UwKK4h4K858LQ\r\nyKPaMD86A+GOegbftaeikjep3OnYPYtDfga6DoxM83EEhqO0Fq1HZN2KKhxD\r\nYUO1pTubMAzFNcX2a0OGZ2Fb+AipZd7QXrI=\r\n=fkwt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"762fb5178e22e2904cea6f4366afda4be54b0657","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"9.5.1","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.2.0_1682549628887_0.37790494000042796","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"@badgateway/oauth2-client","version":"2.2.1","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.2.1","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"36984c5cde57a756ee4695c3da0a5c600419deee","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.2.1.tgz","fileCount":34,"integrity":"sha512-V5bFl4bzdQDPDfy/55z19EJ6QsmZMVvrPB0389YZeX/dJd9VmcHZBN079TdRoQCH7VPMYYJWmG0NDQYpOTLJ2g==","signatures":[{"sig":"MEUCIQDauq7La6n9vd4McDwPg4Y/CrtkzjmuyJxgtbBqaTCCwwIgQu/XuHN1Tv2Px+w8/qy0FuVpO1sdWsXFffceIVxtPJY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":151721},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"ce3d0a4a0fe59b4ef259cd7df66920824bfbb4ad","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"9.5.1","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.16.1","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^5.2.0","@typescript-eslint/eslint-plugin":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.2.1_1688696680193_0.14522193485950674","host":"s3://npm-registry-packages"}},"2.2.2":{"name":"@badgateway/oauth2-client","version":"2.2.2","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.2.2","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"131948ab9fb6ad93a51941cc22ba90717a3cf43c","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.2.2.tgz","fileCount":34,"integrity":"sha512-b5p0oEiktJ8XpyGPSxMHSnrXybum0zS5PF+XkWFCx9O2G1GF/xk32Fx5DPU/Tw6IjhJXZbKMyievFAKgsEenQg==","signatures":[{"sig":"MEUCIDtUWqhFBm/ZyEHkthQsOdwwN7/dIylFTu9dZ36DkoY7AiEAouycXdLEr8zewixsex9cv/5eqj3oRMUOrxqPBig0FBU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":154104},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"4ed120474937a912c9284fc3756d3a71de5ab7f0","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"9.6.7","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^6.2.0","@typescript-eslint/eslint-plugin":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.2.2_1690517831493_0.7133483887701413","host":"s3://npm-registry-packages"}},"2.2.3":{"name":"@badgateway/oauth2-client","version":"2.2.3","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.2.3","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"4c30fffd1f57a4d860e98902f184ec23d0c77098","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.2.3.tgz","fileCount":34,"integrity":"sha512-5y/0dzWfy16SJuB91oZaoIdMsNxG8QyTOz4EQoMZgxOTzvharPr9LTffqdQkECNvBufXaixDeJ3eY7EaC62zDA==","signatures":[{"sig":"MEUCIQDpJmeaxii/xh9rumsXrleKPUsw4pdFlA8qbBY8BpGvsQIgNzlJN0SrYqGMVTOZmleDfJqqsZwcyw4rHau7j/wtY9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":154507},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"f8eca943101395c07a41a72aa26eaad61ea83750","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"9.6.7","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^6.2.0","@typescript-eslint/eslint-plugin":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.2.3_1691029649817_0.29497962374711006","host":"s3://npm-registry-packages"}},"2.2.4":{"name":"@badgateway/oauth2-client","version":"2.2.4","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.2.4","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"6401b1d71f06944a320cfacd4285acbb54788d9d","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.2.4.tgz","fileCount":34,"integrity":"sha512-R9MJWnf9gT5a38hNmAN4CFBB9yshvEVNYPb9iPgX7JIUAaqHjl3csivDcJESH3riRJMFVOEOqV4BsjamyYbsBg==","signatures":[{"sig":"MEQCIEp+Ye0c0NOKkHewhhxoYiMoNFmJDlA+Uo32Lqwj8wrDAiBajNGJZZG7TT2SpzDj+sWst2940t06r9x1890xtLgtQg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":157036},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"af65d966a5a938d5a96bae796b4e4d56e3af199f","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"9.6.7","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^6.2.0","@typescript-eslint/eslint-plugin":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.2.4_1693951178843_0.9225103784750153","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"@badgateway/oauth2-client","version":"2.3.0","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.3.0","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"ff93ba999036f1c37809c5d9f4e388fbcf738e50","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.3.0.tgz","fileCount":34,"integrity":"sha512-nLbACuhaKIo9AjaE/HK1zvRU0yzsSOX94yarEyKLq1FNzf9b74YReZrKVfF7EkQfNli+TpL11750s01/oyEf2w==","signatures":[{"sig":"MEUCIQDgpqqXZmYhU/TFOHuPTbAKsTau2H6Jhbt0ll/3260iiQIgWRAg/GyJH4DU8ThNb0TGLaz8375+lf0r6ASVd5nQK/s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":170384},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"7ce4f29a1c3bfc1547df3326f67a07aeed48ec05","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"10.2.3","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.19.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^6.2.0","@typescript-eslint/eslint-plugin":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.3.0_1706925231859_0.7607077769490231","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"@badgateway/oauth2-client","version":"2.4.0","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.4.0","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"a60c6c8a24223f439c0d81f73ba0ce1b754e73d4","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.4.0.tgz","fileCount":34,"integrity":"sha512-3VSA2uwGxdAbTGuxwGNmE/3KOFOxdDeGajPLX+2CWGU9QV4zHv6k5khES6w/9jMq5eCk84dLOcMfQFUpkamNlw==","signatures":[{"sig":"MEYCIQCrOg6u63wiMp4CGMH0Bgz0u9p1V+X9vpCaNO/YPKuAowIhAPJyh4Kf2lllY4/UGsgKz7SNba45090y9+SOLE4g4Gbi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178031},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"0468d453ca8d448671fecf3ddc96ed26963bf505","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"10.7.0","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.20.4","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^6.2.0","@typescript-eslint/eslint-plugin":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.4.0_1722112610126_0.029707874251507116","host":"s3://npm-registry-packages"}},"2.4.1":{"name":"@badgateway/oauth2-client","version":"2.4.1","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.4.1","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"31714aec98d48cd7d401211f2d0f328cd55fbe9f","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.4.1.tgz","fileCount":34,"integrity":"sha512-s4W4WqJI1c3Xehr+szVtv/v+yLGwKaDG1Kz+3Fih3Y5nUlgJfnv7va72peERMEg6KDUGpK4Ksx8toqjN9ej80A==","signatures":[{"sig":"MEYCIQDJ/SuGLfMipZfJ53sNbuw9B69+U8osVXNjfrbMMxnU2QIhAN6fjBfktQ6GFUrGcbytXtSBOSlhM4/1mWjIpmlykTr9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":179592},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"d9b9d75ed45fba3acc6fc04668a70626a893c1b8","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"10.7.0","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.20.4","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^6.2.0","@typescript-eslint/eslint-plugin":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.4.1_1724305201657_0.17646007079843296","host":"s3://npm-registry-packages"}},"2.4.2":{"name":"@badgateway/oauth2-client","version":"2.4.2","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@2.4.2","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"8b57bc837ae059628e1437b915815c2fef26f282","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-2.4.2.tgz","fileCount":34,"integrity":"sha512-70Fmzlmn8EfCjjssls8N6E94quBUWnLhu4inPZU2pkwpc6ZvbErkLRvtkYl81KFCvVcuVC0X10QPZVNwjXo2KA==","signatures":[{"sig":"MEYCIQDbE96vt5xmY/i5fiHHAUETPRcZsfAx9cNFDydzbmdUgAIhANSHzZZq8wEH1H/AKY2sCFID4nHDgPn8ezQShNicgKMU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180563},"main":"dist/index.js","mocha":{"exit":true,"require":["ts-node/register","./test/polyfills.js"],"extension":["ts","js","tsx"],"recursive":true},"types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 14"},"gitHead":"982256600ccf85cbfb6886420697e42e014f39bd","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"10.7.0","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"18.20.4","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.1.0","ts-node":"^10.7.0","webpack":"^5.60.0","ts-loader":"^9.2.6","node-fetch":"^2.6.7","typescript":"^5.0.4","@types/chai":"^4.3.1","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@types/mocha":"^10.0.0","@curveball/core":"^0.21.1","@curveball/bodyparser":"^0.6.1","@curveball/http-errors":"^0.5.0","@typescript-eslint/parser":"^6.2.0","@typescript-eslint/eslint-plugin":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_2.4.2_1726347948680_0.8026396099128952","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@badgateway/oauth2-client","version":"3.0.0","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@3.0.0","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"1ce9b6098029b944487339acb92e814ac6db3f3a","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-3.0.0.tgz","fileCount":36,"integrity":"sha512-/b1bjQNh3d42jTXyAe36Uh4Qg8vYlp4PsHjUuCkz2f6ra+o9E0W48w6pCEYCwRI+TB+r8DIcuwWzz6nFsCrLZA==","signatures":[{"sig":"MEUCIQDyc8Y8y3iHlQ0cp06OVNLlTWRN3ZHxiRmqbi6U5VGd+wIgNj2l3UEiSsBJMZYmSw2TcddZ/+MBWtZwRkwWIZbiLWg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191710},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 18"},"gitHead":"08772cc777c3a4899e794686b82af124321a1b1a","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"10.9.2","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.10.0","webpack":"^5.60.0","ts-loader":"^9.2.6","typescript":"^5.0.4","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@curveball/core":"^1.0.0","@curveball/bodyparser":"^1.0.0","@curveball/http-errors":"^1.0.1","@typescript-eslint/parser":"^8.5.0","@typescript-eslint/eslint-plugin":"^8.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_3.0.0_1741501468277_0.08975618914938277","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@badgateway/oauth2-client","version":"3.1.1","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@3.1.1","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"48ded32c3bd7fbe2ae91c04f2452d3e580631b9f","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-3.1.1.tgz","fileCount":36,"integrity":"sha512-+zTX0FVJJ1EWZxkuPAMkpULoNZK+Csp2AeMM6JvmEhkDoILymjKyt8Hhef3eIRwczWm7WBgNEFcKhxpnPLyjIQ==","signatures":[{"sig":"MEUCICpzLIH4upboAkaf2k0KrJ4vnUGWzUcavuxselb8bCV6AiEAlYbmS5AWwYEUuh178x36OYAJO/mT37dSKsQ41Xlyclc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198009},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 18"},"gitHead":"32811dfc9b281d928ddd26b0a7316c2802d1a44e","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"10.8.1","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.10.0","webpack":"^5.60.0","ts-loader":"^9.2.6","typescript":"^5.0.4","@types/node":"^18.0.0","webpack-cli":"^5.0.1","@curveball/core":"^1.0.0","@curveball/bodyparser":"^1.0.0","@curveball/http-errors":"^1.0.1","@typescript-eslint/parser":"^8.5.0","@typescript-eslint/eslint-plugin":"^8.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_3.1.1_1744917532036_0.3263309199569775","host":"s3://npm-registry-packages-npm-production"}},"3.2.0-dev0":{"name":"@badgateway/oauth2-client","version":"3.2.0-dev0","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@3.2.0-dev0","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"73daa55e3a92fa9faf0ac2969cd386726aa5dfdb","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-3.2.0-dev0.tgz","fileCount":35,"integrity":"sha512-n/DyV6hOowv8cdYHZO+/O+I3hvBoCBwGPLx1x22BkbCb2IJf/4WFPCzPdSO+HoL1f7blnWHP97Q5AIo1w/nB1A==","signatures":[{"sig":"MEUCIF6VhUtL5DQgr+mUuaBFY16INCrNEB3m3irZq8SsnxGwAiEA/YBqfQsBaLOW1EpnAy5uFUauqV2Ena9vX4lyYUXdGD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163766},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 18"},"gitHead":"6542ea957a7785f0fcf46d95ed350eef7adf5cad","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"10.8.1","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^6.3.2","eslint":"^9.10.0","ts-loader":"^9.2.6","typescript":"^5.0.4","@types/node":"^18.0.0","@curveball/core":"^1.0.0","@curveball/bodyparser":"^1.0.0","@curveball/http-errors":"^1.0.1","@typescript-eslint/parser":"^8.5.0","@typescript-eslint/eslint-plugin":"^8.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_3.2.0-dev0_1745360594067_0.16465207935373116","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@badgateway/oauth2-client","version":"3.2.0","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@3.2.0","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"bb11b8673bc6e4271104d5a223c61ce94739f926","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-3.2.0.tgz","fileCount":35,"integrity":"sha512-EHsoV6oLHot7HeYkIoSxCZApNgBjwNo1OTV9kXIDnmijGAshlVkJreVAAtexFn+sfDKPE0JW5SCPYJV1y4IoMg==","signatures":[{"sig":"MEYCIQDXzCHxRyFqdJEA4SzmABEtape5qvOyKuvKx/tfDcBmOAIhAKYsnIRnw9IBnW71GpYiHT11UGuj0t8zq6IREZ0vfmG2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163761},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 18"},"gitHead":"aee8038fce776fd3b7147d994903d857a1d0f385","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"10.8.1","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.2","eslint":"^9.10.0","ts-loader":"^9.2.6","typescript":"^5.0.4","@types/node":"^18.0.0","@curveball/core":"^1.0.0","@curveball/bodyparser":"^1.0.0","@curveball/http-errors":"^1.0.1","@typescript-eslint/parser":"^8.5.0","@typescript-eslint/eslint-plugin":"^8.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_3.2.0_1745397896825_0.6925485824852111","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@badgateway/oauth2-client","version":"3.3.0","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"author":{"url":"https://evertpot.com","name":"Evert Pot"},"license":"MIT","_id":"@badgateway/oauth2-client@3.3.0","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"homepage":"https://github.com/badgateway/oauth2-client#readme","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"dist":{"shasum":"fac827c358b1086e6b0c04cc148fb45cdbb46a68","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-3.3.0.tgz","fileCount":34,"integrity":"sha512-sgdyPVxfZgII5r8gAM8FMmMjNJ+Jjv8JomGvbUPL4MdMQGcVr+RL6JUej2kWyAMXEMf3ngLzjvV3uYhhyASxpg==","signatures":[{"sig":"MEUCIQDXq6asD2/qTieVmGxZZUaqshMtKxF60CSOAULNJflEQQIgJbdaC2eEfQyo/Ud7M9XEBUg+lu0Qeiojo4XK/H8QR60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149129},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","browser":"browser/oauth2-client.min.js","engines":{"node":">= 18"},"gitHead":"7c93e0bb314840c594f3f10b401fc3ff5fe573a2","scripts":{"lint":"make lint","test":"make test","prepublishOnly":"make build"},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"repository":{"url":"git+ssh://git@github.com/badgateway/oauth2-client.git","type":"git"},"_npmVersion":"10.9.2","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.2","eslint":"^9.10.0","ts-loader":"^9.2.6","typescript":"^5.0.4","@types/node":"^18.0.0","@curveball/core":"^1.0.0","@curveball/bodyparser":"^1.0.0","@curveball/http-errors":"^1.0.1","@typescript-eslint/parser":"^8.5.0","@typescript-eslint/eslint-plugin":"^8.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-client_3.3.0_1753889163244_0.8283609216725631","host":"s3://npm-registry-packages-npm-production"}},"3.3.1":{"name":"@badgateway/oauth2-client","version":"3.3.1","description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","main":"dist/index.js","type":"module","scripts":{"test":"make test","prepublishOnly":"make build","lint":"make lint"},"repository":{"type":"git","url":"git+ssh://git@github.com/badgateway/oauth2-client.git"},"keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"author":{"name":"Evert Pot","url":"https://evertpot.com"},"license":"MIT","bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"homepage":"https://github.com/badgateway/oauth2-client#readme","engines":{"node":">= 18"},"devDependencies":{"@curveball/bodyparser":"^1.0.0","@curveball/core":"^1.0.0","@curveball/http-errors":"^1.0.1","@types/node":"^18.0.0","@typescript-eslint/eslint-plugin":"^8.5.0","@typescript-eslint/parser":"^8.5.0","eslint":"^9.10.0","ts-loader":"^9.2.6","typescript":"^5.0.4","vite":"^6.3.2"},"browser":"browser/oauth2-client.min.js","_id":"@badgateway/oauth2-client@3.3.1","gitHead":"0a29ed29e41e56ef2575a8b496ebd04c214a3494","types":"./dist/index.d.ts","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-7R4mZocEt8nOIMCz9cQyxsrY7n/jhFW9YUW6Er9ySnBzH92wA0KmQUR1cT2encq2Lix6kRD2GyQRAmT1dWtwzg==","shasum":"d86a328fe51620f46297b66bdec1263e23415c8d","tarball":"https://registry.npmjs.org/@badgateway/oauth2-client/-/oauth2-client-3.3.1.tgz","fileCount":34,"unpackedSize":149767,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGN0wA5mn+fRJEA+BPtdonigMRATGW7CW+Vh1fAEUkGrAiEAmfpPfxnhDAnjuCrZoB7/VWm2Z1PQCNfpFC1RdXZ8JM0="}]},"_npmUser":{"name":"evrt","email":"me@evertpot.com"},"directories":{},"maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oauth2-client_3.3.1_1757387198175_0.3573913191416145"},"_hasShrinkwrap":false}},"time":{"created":"2022-06-19T23:13:26.866Z","modified":"2025-09-09T03:06:38.653Z","2.0.12":"2022-06-19T23:13:27.156Z","2.0.13":"2022-06-19T23:49:48.648Z","2.0.14":"2022-06-24T00:53:28.550Z","2.0.15":"2022-07-07T19:35:19.388Z","2.0.16":"2022-07-22T18:02:28.504Z","2.0.17":"2022-10-02T19:23:25.612Z","2.0.18":"2023-04-13T17:15:45.020Z","2.1.0":"2023-04-20T21:52:37.360Z","2.1.1":"2023-04-24T01:48:37.268Z","2.2.0":"2023-04-26T22:53:49.089Z","2.2.1":"2023-07-07T02:24:40.467Z","2.2.2":"2023-07-28T04:17:11.680Z","2.2.3":"2023-08-03T02:27:30.012Z","2.2.4":"2023-09-05T21:59:39.076Z","2.3.0":"2024-02-03T01:53:52.028Z","2.4.0":"2024-07-27T20:36:50.330Z","2.4.1":"2024-08-22T05:40:01.819Z","2.4.2":"2024-09-14T21:05:48.828Z","3.0.0":"2025-03-09T06:24:28.460Z","3.1.1":"2025-04-17T19:18:52.234Z","3.2.0-dev0":"2025-04-22T22:23:14.251Z","3.2.0":"2025-04-23T08:44:57.013Z","3.3.0":"2025-07-30T15:26:03.419Z","3.3.1":"2025-09-09T03:06:38.367Z"},"bugs":{"url":"https://github.com/badgateway/oauth2-client/issues"},"author":{"name":"Evert Pot","url":"https://evertpot.com"},"license":"MIT","homepage":"https://github.com/badgateway/oauth2-client#readme","keywords":["fetch","oauth2","pkce","security","bearer","RFC6749","RFC7636","RFC7662","RFC8414","RFC8707"],"repository":{"type":"git","url":"git+ssh://git@github.com/badgateway/oauth2-client.git"},"description":"OAuth2 client for browsers and Node.js. Tiny footprint, PKCE support","maintainers":[{"name":"evrt","email":"me@evertpot.com"}],"readme":"# OAuth2 client for Node and browsers\n\nThis package contains an OAuth2 client. It aims to be a fully-featured OAuth2\nutility library, for Node.js, Browsers and written in Typescript.\n\nThis OAuth2 client is only **4KB** gzipped, it has **0** dependencies and\nrelies on modern APIs like `fetch()` and [Web Crypto][4] which are built-in\nsince Node 18.\n\n\n## Highlights\n\n* 16KB minified (5KB gzipped).\n* No dependencies.\n* `authorization_code` grant with optional [PKCE][1] support.\n* `password` and `client_credentials` grant.\n* a `fetch()` wrapper that automatically adds Bearer tokens and refreshes them.\n* OAuth2 endpoint discovery via the Server metadata document ([RFC8414][2]).\n* OAuth2 Token Introspection ([RFC7662][3]).\n* Resource Indicators for OAuth 2.0 ([RFC8707][5]).\n* OAuth2 Token Revocation ([RFC7009][6]).\n* [OAuth 2.0 Multiple Response Type Encoding Practices](https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html)\n\n## Installation\n\n```sh\nnpm i @badgateway/oauth2-client\n```\n\n\n## Usage\n\nTo get started, set up the Client class.\n\n\n```typescript\nimport { OAuth2Client } from '@badgateway/oauth2-client';\n\nconst client = new OAuth2Client({\n\n  // The base URI of your OAuth2 server\n  server: 'https://my-auth-server/',\n\n  // OAuth2 client id\n  clientId: '...',\n\n  // OAuth2 client secret. Only required for 'client_credentials', 'password'\n  // flows. Don't specify this in insecure contexts, such as a browser using\n  // the authorization_code flow.\n  clientSecret: '...',\n\n\n  // The following URIs are all optional. If they are not specified, we will\n  // attempt to discover them using the oauth2 discovery document.\n  // If your server doesn't have support this, you may need to specify these.\n  // you may use relative URIs for any of these.\n\n\n  // Token endpoint. Most flows need this.\n  // If not specified we'll use the information for the discovery document\n  // first, and otherwise default to /token\n  tokenEndpoint: '/token',\n\n  // Authorization endpoint.\n  //\n  // You only need this to generate URLs for authorization_code flows.\n  // If not specified we'll use the information for the discovery document\n  // first, and otherwise default to /authorize\n  authorizationEndpoint: '/authorize',\n\n  // OAuth2 Metadata discovery endpoint.\n  //\n  // This document is used to determine various server features.\n  // If not specified, we assume it's on /.well-known/oauth2-authorization-server\n  discoveryEndpoint: '/.well-known/oauth2-authorization-server',\n\n});\n```\n\n### Tokens\n\nMany functions use or return a 'OAuth2Token' type. This type has the following\nshape:\n\n```typescript\nexport type OAuth2Token = {\n  accessToken: string;\n  refreshToken: string | null;\n\n  /**\n   * When the Access Token expires.\n   *\n   * This is expressed as a unix timestamp in milliseconds.\n   */\n  expiresAt: number | null;\n\n\n  /**\n   * If the server returned an OpenID Connect ID token, it will be stored here.\n   */\n  idToken?: string;\n\n};\n```\n\n\n### client_credentials grant.\n\n```typescript\nconst token = await client.clientCredentials();\n```\n\n### Refreshing tokens\n\n```typescript\nconst newToken = await client.refreshToken(oldToken);\n```\n\n\n### password grant:\n\n```typescript\nconst token = await client.password({\n  username: '..',\n  password: '..',\n});\n```\n\n### authorization_code\n\nThe `authorization_code` flow is the flow for browser-based applications,\nand roughly consists of 3 major steps:\n\n1. Redirect the user to an authorization endpoint, where they log in.\n2. Authorization endpoint redirects back to app with a 'code' query\n   parameter.\n3. The `code` is exchanged for a access and refresh token.\n\nThis library provides support for these steps, but there's no requirement\nto use its functionality as the system is mostly stateless.\n\n```typescript\nimport { OAuth2Client, generateCodeVerifier } from 'client';\n\nconst client = new OAuth2Client({\n  server: 'https://authserver.example/',\n  clientId: '...',\n\n  // Note, if urls cannot be auto-detected, also specify these:\n  tokenEndpoint: '/token',\n  authorizationEndpoint: '/authorize',\n});\n```\n\n**Redirecting the user to the authorization server**\n\n```typescript\n/**\n * This generates a security code that must be passed to the various steps.\n * This is used for 'PKCE' which is an advanced security feature.\n *\n * It doesn't break servers that don't support it, but it makes servers that\n * so support it more secure.\n *\n * It's optional to pass this, but recommended.\n */\nconst codeVerifier = await generateCodeVerifier();\n\n// In a browser this might work as follows:\ndocument.location = await client.authorizationCode.getAuthorizeUri({\n\n  // URL in the app that the user should get redirected to after authenticating\n  redirectUri: 'https://my-app.example/',\n\n  // Optional string that can be sent along to the auth server. This value will\n  // be sent along with the redirect back to the app verbatim.\n  state: 'some-string',\n\n  codeVerifier,\n\n  scope: ['scope1', 'scope2'],\n\n});\n```\n\n**Handling the redirect back to the app and obtain token**\n\n```typescript\nconst oauth2Token = await client.authorizationCode.getTokenFromCodeRedirect(\n  document.location,\n  {\n    /**\n     * The redirect URI is not actually used for any redirects, but MUST be the\n     * same as what you passed earlier to \"authorizationCode\"\n     */\n    redirectUri: 'https://my-app.example/',\n\n    /**\n     * This is optional, but if it's passed then it also MUST be the same as\n     * what you passed in the first step.\n     *\n     * If set, it will verify that the server sent the exact same state back.\n     */\n    state: 'some-string',\n\n    codeVerifier,\n\n  }\n);\n```\n\n\n### Fetch Wrapper\n\nWhen using an OAuth2-protected API, typically you will need to obtain an Access\ntoken, and then add this token to each request using an `Authorization: Bearer`\nheader.\n\nBecause access tokens have a limited lifetime, and occasionally needs to be\nrefreshed this is a bunch of potential plumbing.\n\nTo make this easier, this library has a 'fetch wrapper'. This is effectively\njust like a regular fetch function, except it automatically adds the header\nand will automatically refresh tokens when needed.\n\nUsage:\n\n```typescript\nimport { OAuth2Client, OAuth2Fetch } from '@badgateway/oauth2-client';\n\nconst client = new OAuth2Client({\n  server: 'https://my-auth-server',\n  clientId: 'my-client-id'\n});\n\n\nconst fetchWrapper = new OAuth2Fetch({\n  client: client,\n\n  /**\n   * You are responsible for implementing this function.\n   * it's purpose is to supply the 'initial' oauth2 token.\n   */\n  getNewToken: async () => {\n\n    // Example\n    return client.clientCredentials();\n\n    // Another example\n    return client.authorizationCode.getToken({\n      code: '..',\n      redirectUri: '..',\n    });\n\n    // You can return null to fail the process. You may want to do this\n    // when a user needs to be redirected back to the authorization_code\n    // endpoints.\n    return null;\n\n  },\n\n  /**\n   * Optional. This will be called for any fatal authentication errors.\n   */\n  onError: (err) => {\n    // err is of type Error\n  }\n\n});\n```\n\nAfter set up, you can just call `fetch` on the new object to call your API, and\nthe library will ensure there's always a `Bearer` header.\n\n```typescript\nconst response = fetchWrapper.fetch('https://my-api', {\n  method: 'POST',\n  body: 'Hello world'\n});\n```\n\n### Storing tokens for later use with FetchWrapper\n\nTo keep a user logged in between sessions, you may want to avoid full\nreauthentication. To do this, you'll need to store authentication token\nsomewhere.\n\nThe fetch wrapper has 2 functions to help with this:\n\n```typescript\n\nconst fetchWrapper = new OAuth2Fetch({\n  client: client,\n\n  getNewToken: async () => {\n\n    // See above!\n\n  },\n\n  /**\n   * This function is called whenever the active token changes. Using this is\n   * optional, but it may be used to (for example) put the token in off-line\n   * storage for later usage.\n   */\n  storeToken: (token) => {\n    document.localStorage.setItem('token-store', JSON.stringify(token));\n  },\n\n  /**\n   * Also an optional feature. Implement this if you want the wrapper to try a\n   * stored token before attempting a full re-authentication.\n   *\n   * This function may be async. Return null if there was no token.\n   */\n  getStoredToken: () => {\n    const token = document.localStorage.getItem('token-store');\n    if (token) return JSON.parse(token);\n    return null;\n  }\n\n});\n```\n\n\n### Fetch Middleware function\n\nIt might be preferable to use this library as a more traditional 'middleware'.\n\nThe OAuth2Fetch object also exposes a `mw` function that returns a middleware\nfor fetch.\n\n```typescript\nconst mw = oauth2.mw();\nconst response = mw(\n  myRequest,\n  req => fetch(req)\n);\n```\n\nThis syntax looks a bit wild if you're not used to building middlewares, but\nthis effectively allows you to 'decorate' existing request libraries with\nfunctionality from this oauth2 library.\n\nA real example using the [Ketting](https://github.com/badgateway/ketting)\nlibrary:\n\n```typescript\nimport { Client } from 'ketting';\nimport { OAuth2Client, OAuth2Fetch } from '@badgateway/oauth2-client';\n\n/**\n * Create the oauth2 client\n */\nconst oauth2Client = new OAuth2Client({\n  server: 'https://my-auth.example',\n  clientId: 'foo',\n});\n\n/**\n * Create the 'fetch helper'\n */\nconst oauth2Fetch = new OAuth2Fetch({\n  client: oauth2Client,\n});\n\n/**\n * Add the middleware to Ketting\n */\nconst ketting = new Client('http://api-root');\nketting.use(oauth2Fetch.mw());\n```\n\n### Introspection\nIntrospection ([RFC7662][3]) lets you find more information about a token,\nsuch as whether it's valid, which user it belongs to, which oauth2 client\nwas used to generate it, etc.\n\nTo be able to use it, your authorization server must have support for the\nintrospection endpoint. It's location will be automatically detected using\nthe Metadata discovery document.\n\n```typescript\nimport { OAuth2Client } from '@badgateway/oauth2-client';\n\nconst client = new Client({\n  server: 'https://auth-server.example/',\n\n  clientId: '...',\n\n  /**\n   * Some servers require OAuth2 clientId/clientSecret to be passed.\n   * If they require it, specify it. If not it's fine to omit.\n   */\n  clientSecret: '...',\n\n});\n\n// Get a token\nconst token = client.clientCredentials();\n\n// Introspect!\nconsole.log(client.introspect(token));\n```\n\n## OAuth2 `client_id` and `client_secret` encoding\n\nOAuth2 allows users to encode the `client_id` and `client_secret` either in a\n`Authorization: Basic` header or in the `POST` request body.\n\nReal-world OAuth2 servers may support one or the other, or both. The OAuth2\nspec _requires_ that servers support the Authorization header, and don't\nrecommend using the body.\n\nBy default, this library will use the `Authorization` header. OAuth2 also\nrequires that clients percent-encode the `client_id` and `client_secret`, but\nin practice many popular servers break if you do this. By default this library\nwill *not* percent encode any characters except the `:` character.\n\nYou can change this behavior using the `authenticatioMethod` flag:\n\n```typescript\nconst client = new OAuth2Client({\n  server: 'https://auth-server.example/',\n  clientId: '...',\n  clientSecret: '...',\n  authenticationMethod: 'client_secret_post', // encode in POST body \n});\n```\n\nThe following 3 values are currently supported:\n\n* `client_secret_post` - Encode in POST body\n* `client_secret_basic` - Encode in Authorization header using the strict\n  standard rules.\n* `client_secret_basic_interop` - Encode in Authorization header using less\n  strict rules. This is the default and more likely to work with popular\n  servers (at least some Google and Ebay APIs want this).\n\nThe current OAuth 2.1 draft switches the recommendation to use\n`client_secret_post` by default instead. When that document stabilizes and gets\nreleased, this library will also switch to use `client_secret_post` by default\nin a major release.\n\nIf your OAuth2 server supports POST, we recommend you use `client_secret_post`\nas this is more likely to work without a hitch.\n\nIf you configured the client using the OAuth2 discovery document, and the\nserver indicates it prefers `client_secret_basic` we will also default to the\nstrict form.\n\n\n## Support for older Node versions\n\nThis package works out of the box with modern browsers and Node 18.\n\nFor Node 16 and below, use a 2.x version of this package and add\npolyfills. The README.md for the 2.x branch of this package contains more information\non the exact steps for older Node versions.\n\n[1]: https://datatracker.ietf.org/doc/html/rfc7636 \"Proof Key for Code Exchange by OAuth Public Clients\"\n[2]: https://datatracker.ietf.org/doc/html/rfc8414 \"OAuth 2.0 Authorization Server Metadata\"\n[3]: https://datatracker.ietf.org/doc/html/rfc7662 \"OAuth 2.0 Token Introspection\"\n[4]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API \"Web Crypto API\"\n[5]: https://datatracker.ietf.org/doc/html/rfc8707 \"https://datatracker.ietf.org/doc/html/rfc8707\"\n[6]: https://datatracker.ietf.org/doc/html/rfc7009 \"OAuth 2.0 Token Revocation\"\n","readmeFilename":"README.md"}