{"_id":"pkce-challenge","_rev":"4115343","name":"pkce-challenge","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","dist-tags":{"latest":"6.0.0"},"maintainers":[{"name":"crouchcd","email":""}],"time":{"modified":"2026-02-09T07:35:30.000Z","created":"2019-01-11T21:37:22.482Z","6.0.0":"2026-02-01T18:57:25.560Z","5.0.1":"2025-11-23T03:54:38.460Z","5.0.0":"2025-03-31T02:37:23.769Z","4.1.0":"2024-01-26T00:04:31.136Z","4.0.1":"2023-05-11T20:39:51.753Z","4.0.0":"2023-05-11T20:14:19.792Z","3.1.0":"2023-03-29T06:25:12.572Z","3.0.0":"2022-03-29T02:54:58.511Z","2.2.0":"2021-05-20T01:53:44.540Z","2.1.0":"2019-12-20T22:01:50.613Z","2.0.0":"2019-10-19T22:31:27.956Z","1.0.3":"2019-06-06T14:21:41.214Z","1.0.2":"2019-01-11T22:31:45.200Z","1.0.1":"2019-01-11T21:57:06.292Z","1.0.0":"2019-01-11T21:37:22.482Z"},"users":{},"author":{"name":"crouchcd"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"versions":{"6.0.0":{"name":"pkce-challenge","version":"6.0.0","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","browser":"dist/index.browser.js","type":"module","exports":{".":{"types":{"require":"./dist/index.node.d.cts","import":"./dist/index.node.d.ts"},"browser":{"types":"./dist/index.browser.d.ts","default":"./dist/index.browser.js"},"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"}}},"scripts":{"watch":"tsc --watch --declaration","preprocess":"env=browser diverge -f src/index.ts src/index.browser.ts && env=node diverge -f src/index.ts src/index.node.ts && env=node diverge -f src/index.ts src/index.node.cts","build":"npm run preprocess && tsc --declaration","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","test:bundle":"npm run --prefix browser-test build","test:e2e":"cypress run","test:e2e:open":"cypress open","serve":"http-server -p 8080"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","engines":{"node":">=16.20.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^18.15.11","cypress":"^15.9.0","diverge":"^1.0.2","esbuild":"^0.25.2","http-server":"^14.1.1","jest":"^29.5.0","typescript":"^5.0.3"},"gitHead":"da15fd3852de67bd454b1ea8e75e72b0bcafa93f","_id":"pkce-challenge@6.0.0","_nodeVersion":"24.13.0","_npmVersion":"11.8.0","dist":{"shasum":"2e9a85a37f78b6e241cd9ff25a11994f5810421d","size":4909,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-6.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-6.0.0.tgz"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7045e242-54ee-40cd-afbf-64a302c02be3"}},"directories":{},"maintainers":[{"name":"crouchcd","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pkce-challenge_6.0.0_1769972245388_0.40507056790032947"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-01T18:57:25.560Z","publish_time":1769972245560,"_source_registry_name":"default","_cnpm_publish_time":1769972245560},"5.0.1":{"name":"pkce-challenge","version":"5.0.1","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","browser":"dist/index.browser.js","type":"module","exports":{".":{"types":{"require":"./dist/index.node.d.cts","import":"./dist/index.node.d.ts"},"browser":{"types":"./dist/index.browser.d.ts","default":"./dist/index.browser.js"},"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"}}},"scripts":{"watch":"tsc --watch --declaration","preprocess":"env=browser diverge -f src/index.ts src/index.browser.ts && env=node diverge -f src/index.ts src/index.node.ts && env=node diverge -f src/index.ts src/index.node.cts","build":"npm run preprocess && tsc --declaration","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","test:bundle":"npm run --prefix browser-test build"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","engines":{"node":">=16.20.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^18.15.11","diverge":"^1.0.2","esbuild":"^0.25.2","jest":"^29.5.0","typescript":"^5.0.3"},"_id":"pkce-challenge@5.0.1","gitHead":"8fd25041ba12d914e6758cb635915951aee7cac0","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"shasum":"3b4446865b17b1745e9ace2016a31f48ddf6230d","size":4210,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-5.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-5.0.1.tgz"},"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"maintainers":[{"name":"crouchcd","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pkce-challenge_5.0.1_1763870078252_0.7550159127906637"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-23T03:54:38.460Z","publish_time":1763870078460,"_source_registry_name":"default","_cnpm_publish_time":1763870078460},"5.0.0":{"name":"pkce-challenge","version":"5.0.0","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","browser":"dist/index.browser.js","type":"module","exports":{".":{"types":{"require":"./dist/index.node.d.cts","import":"./dist/index.node.d.ts"},"browser":{"types":"./dist/index.browser.d.ts","default":"./dist/index.browser.js"},"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"}}},"scripts":{"watch":"tsc --watch --declaration","preprocess":"env=browser diverge -f src/index.ts src/index.browser.ts && env=node diverge -f src/index.ts src/index.node.ts && env=node diverge -f src/index.ts src/index.node.cts","build":"npm run preprocess && tsc --declaration","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","test:bundle":"npm run --prefix browser-test build"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","engines":{"node":">=16.20.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^18.15.11","diverge":"^1.0.2","esbuild":"^0.25.2","jest":"^29.5.0","typescript":"^5.0.3"},"_id":"pkce-challenge@5.0.0","gitHead":"e1250074e827d5b235a3d4aebc2a503075284ef8","_nodeVersion":"23.10.0","_npmVersion":"11.2.0","dist":{"shasum":"c3a405cb49e272094a38e890a2b51da0228c4d97","size":3260,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-5.0.0.tgz"},"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"maintainers":[{"name":"crouchcd","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pkce-challenge_5.0.0_1743388643559_0.01524330029077059"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-31T02:37:23.769Z","publish_time":1743388643769,"_source_registry_name":"default","_cnpm_publish_time":1743388643769},"4.1.0":{"name":"pkce-challenge","version":"4.1.0","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","source":"src/index.ts","main":"dist/index.node.js","browser":"dist/index.browser.js","type":"module","types":"dist/index.node.d.ts","scripts":{"watch":"tsc --watch --declaration","preprocess":"env=browser diverge -f src/index.ts src/index.browser.ts && env=node diverge -f src/index.ts src/index.node.ts","build":"npm run preprocess && tsc --declaration","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","test:bundle":"esbuild browser-test/index.js --bundle --outfile=browser-test/index.out.js"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","engines":{"node":">=16.20.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^18.15.11","diverge":"^1.0.2","esbuild":"^0.19.11","jest":"^29.5.0","typescript":"^5.0.3"},"gitHead":"5d09a583e67269ed6c31965a2c2a604c1d26389e","_id":"pkce-challenge@4.1.0","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"shasum":"95027d7750c3c0f21676a345b48f481786f9acdb","size":3008,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-4.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-4.1.0.tgz"},"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"maintainers":[{"name":"crouchcd","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_4.1.0_1706227470932_0.17574333614685056"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-01-26T00:04:31.136Z","publish_time":1706227471136,"_source_registry_name":"default","_cnpm_publish_time":1706227471136},"4.0.1":{"name":"pkce-challenge","version":"4.0.1","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","source":"src/index.ts","main":"dist/index.js","type":"module","types":"dist/index.d.ts","scripts":{"watch":"tsc --watch --declaration","build":"tsc --declaration","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","engines":{"node":">=16.20.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^18.15.11","jest":"^29.5.0","typescript":"^5.0.3"},"gitHead":"0b5a1a35b83bfb973ca492a2d8df9fe1b163d066","_id":"pkce-challenge@4.0.1","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"shasum":"44953d58f79195d51a30bc0464f115cf63dac4a2","size":2795,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-4.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-4.0.1.tgz"},"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"maintainers":[{"name":"crouchcd","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_4.0.1_1683837591598_0.6480328774115982"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-11T20:39:51.753Z","publish_time":1683837591753,"_source_registry_name":"default","_cnpm_publish_time":1683837591753},"4.0.0":{"name":"pkce-challenge","version":"4.0.0","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","source":"src/index.ts","main":"dist/index.js","type":"module","types":"dist/index.d.ts","scripts":{"watch":"tsc --watch --declaration","build":"tsc --declaration","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","devDependencies":{"@types/jest":"^29.5.0","@types/node":"^18.15.11","jest":"^29.5.0","typescript":"^5.0.3"},"gitHead":"2e70d52a2d4d752b9066299c75d7813102c4d8cd","_id":"pkce-challenge@4.0.0","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"shasum":"4f09f143cf157938f6607ef62568901423928a00","size":2804,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-4.0.0.tgz"},"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"maintainers":[{"name":"crouchcd","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_4.0.0_1683836059467_0.4964477515677932"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-11T20:14:19.792Z","publish_time":1683836059792,"_source_registry_name":"default","_cnpm_publish_time":1683836059792},"3.1.0":{"name":"pkce-challenge","version":"3.1.0","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","source":"src/index.ts","main":"dist/main.js","module":"dist/module.js","types":"dist/index.d.ts","scripts":{"watch":"parcel watch","build":"parcel build --no-source-maps","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","dependencies":{"crypto-js":"^4.1.1"},"devDependencies":{"@babel/core":"^7.21.3","@babel/preset-env":"^7.20.2","@parcel/packager-ts":"^2.4.0","@parcel/transformer-typescript-types":"^2.4.0","@types/crypto-js":"^4.1.1","@types/jest":"^29.5.0","@types/node":"^12.20.47","jest":"^29.5.0","parcel":"^2.4.0","typescript":"^4.6.3"},"gitHead":"8dcfbb5cffd8541bf6c84b0ab5f4ae22f2f491c0","_id":"pkce-challenge@3.1.0","_nodeVersion":"14.21.1","_npmVersion":"6.14.17","dist":{"shasum":"c974ee934e62c501f09da817964e75db201ee8bf","size":3903,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-3.1.0.tgz"},"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"maintainers":[{"name":"crouchcd","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_3.1.0_1680071112377_0.1263869572938925"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-29T06:25:12.572Z","publish_time":1680071112572,"_cnpm_publish_time":1680071112572},"3.0.0":{"name":"pkce-challenge","version":"3.0.0","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","source":"src/index.ts","main":"dist/main.js","module":"dist/module.js","types":"dist/index.d.ts","scripts":{"watch":"parcel watch","build":"parcel build --no-source-maps","test":"tap tests/"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","dependencies":{"crypto-js":"^4.1.1"},"devDependencies":{"@parcel/packager-ts":"^2.4.0","@parcel/transformer-typescript-types":"^2.4.0","@types/crypto-js":"^4.1.1","@types/node":"^12.20.47","parcel":"^2.4.0","tap":"^16.0.1","typescript":"^4.6.3"},"gitHead":"52257f24acf4ff9bcc7797d94a69003d49cf8832","_id":"pkce-challenge@3.0.0","_nodeVersion":"12.22.10","_npmVersion":"6.14.16","dist":{"shasum":"0b01693cca7532609d0288b8276594a95033fab4","size":3748,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-3.0.0.tgz"},"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"maintainers":[{"name":"crouchcd","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_3.0.0_1648522498355_0.575483959226555"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-29T02:55:03.033Z","publish_time":1648522498511,"_cnpm_publish_time":1648522498511},"2.2.0":{"name":"pkce-challenge","version":"2.2.0","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","main":"index.js","types":"./index.d.ts","scripts":{"test":"tap tests/"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","dependencies":{},"devDependencies":{"tap":"^12.7.0"},"gitHead":"c16794a23858fc3cdeb60007f0a393bf06282bd2","_id":"pkce-challenge@2.2.0","_nodeVersion":"12.17.0","_npmVersion":"6.14.11","dist":{"shasum":"02622e0498b82aab248c8c7dbf6507e8bbe20abf","size":3418,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-2.2.0.tgz"},"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"maintainers":[{"name":"crouchcd","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_2.2.0_1621475624374_0.28850129509140254"},"_hasShrinkwrap":false,"publish_time":1621475624540,"_cnpm_publish_time":1621475624540,"_cnpmcore_publish_time":"2021-12-17T11:00:10.493Z"},"2.1.0":{"name":"pkce-challenge","version":"2.1.0","description":"Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair","main":"index.js","types":"./index.d.ts","scripts":{"test":"tap tests/"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","dependencies":{},"devDependencies":{"tap":"^12.7.0"},"gitHead":"26ac76a4a0967e3c4912cd31e0d81852a7a5f080","_id":"pkce-challenge@2.1.0","_nodeVersion":"12.13.1","_npmVersion":"6.13.4","dist":{"shasum":"90730f839b2ab00a8cbdd6e808bbaecc10e09b1c","size":3256,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-2.1.0.tgz"},"maintainers":[{"name":"crouchcd","email":""}],"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_2.1.0_1576879310466_0.15357118676787995"},"_hasShrinkwrap":false,"publish_time":1576879310613,"_cnpm_publish_time":1576879310613,"_cnpmcore_publish_time":"2021-12-17T11:00:10.706Z"},"2.0.0":{"name":"pkce-challenge","version":"2.0.0","description":"Generate a Proof Key for Code Exchange (PKCE) challenge pair","main":"index.js","types":"./index.d.ts","scripts":{"test":"tap tests/"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","dependencies":{},"devDependencies":{"tap":"^12.7.0"},"gitHead":"b70e6242fb0d4c0dc9ed6a36aef13751f1f75f50","_id":"pkce-challenge@2.0.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"shasum":"941ea9684eb40c43cc2e274a711696ba76b56d49","size":3006,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-2.0.0.tgz"},"maintainers":[{"name":"crouchcd","email":""}],"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_2.0.0_1571524287855_0.7647500796448392"},"_hasShrinkwrap":false,"publish_time":1571524287956,"_cnpm_publish_time":1571524287956,"_cnpmcore_publish_time":"2021-12-17T11:00:10.944Z"},"1.0.3":{"name":"pkce-challenge","version":"1.0.3","description":"Generate a Proof Key for Code Exchange (PKCE)","main":"index.js","scripts":{"test":"tap tests/"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","dependencies":{"base64url":"^3.0.1","randomatic":"^3.1.1"},"devDependencies":{"tap":"^12.7.0"},"gitHead":"560d3671138448dc199faa0ce9893b2d200758a8","_id":"pkce-challenge@1.0.3","_nodeVersion":"10.9.0","_npmVersion":"6.9.0","dist":{"shasum":"2af570f0ae6bd7e16d45b68b171f423b90de9ea2","size":1987,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-1.0.3.tgz"},"maintainers":[{"name":"crouchcd","email":""}],"_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_1.0.3_1559830901114_0.9406616339017033"},"_hasShrinkwrap":false,"publish_time":1559830901214,"_cnpm_publish_time":1559830901214,"_cnpmcore_publish_time":"2021-12-17T11:00:11.143Z"},"1.0.2":{"name":"pkce-challenge","version":"1.0.2","description":"Generate a Proof Key for Code Exchange (PKCE)","main":"index.js","scripts":{"test":"tap tests/"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","dependencies":{"base64url":"^3.0.1","randomatic":"^3.1.1"},"devDependencies":{"tap":"^12.1.1"},"gitHead":"32f96446682847d784d0bd5e9d42c8040f8f8df5","_id":"pkce-challenge@1.0.2","_npmVersion":"6.5.0","_nodeVersion":"10.9.0","_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"dist":{"shasum":"20049560ffbd68962a1eb04cc5705ea987c90fcd","size":1984,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-1.0.2.tgz"},"maintainers":[{"name":"crouchcd","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_1.0.2_1547245905084_0.3934071657586038"},"_hasShrinkwrap":false,"publish_time":1547245905200,"_cnpm_publish_time":1547245905200,"_cnpmcore_publish_time":"2021-12-17T11:00:11.461Z"},"1.0.1":{"name":"pkce-challenge","version":"1.0.1","description":"Generate a Proof Key for Code Exchange (PKCE)","main":"index.js","scripts":{"test":"tap tests/"},"repository":{"type":"git","url":"git+https://github.com/crouchcd/pkce-challenge.git"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","dependencies":{"base64url":"^3.0.1","randomatic":"^3.1.1"},"devDependencies":{"tap":"^12.1.1"},"gitHead":"3280da7ce224a10a4511c4c47c064b1b7962682f","_id":"pkce-challenge@1.0.1","_npmVersion":"6.5.0","_nodeVersion":"10.9.0","_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"dist":{"shasum":"1295168c4864ee6a4c45f6b1fe3e7e96a3e5f880","size":1521,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-1.0.1.tgz"},"maintainers":[{"name":"crouchcd","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_1.0.1_1547243826210_0.024776100090357467"},"_hasShrinkwrap":false,"publish_time":1547243826292,"_cnpm_publish_time":1547243826292,"_cnpmcore_publish_time":"2021-12-17T11:00:11.720Z"},"1.0.0":{"name":"pkce-challenge","version":"1.0.0","description":"Generate a Proof Key for Code Exchange (PKCE)","main":"index.js","scripts":{"test":"tap tests/"},"keywords":["PKCE","oauth2"],"author":{"name":"crouchcd"},"license":"MIT","dependencies":{"base64url":"^3.0.1","randomatic":"^3.1.1"},"devDependencies":{"tap":"^12.1.1"},"gitHead":"6fd2490cb628d4736d4f47c94346e53cc563a389","_id":"pkce-challenge@1.0.0","_npmVersion":"6.5.0","_nodeVersion":"10.9.0","_npmUser":{"name":"crouchcd","email":"cameroncrouch36@gmail.com"},"dist":{"shasum":"13fc8a9e11ecd1b411cab34498291c539f417d58","size":1440,"noattachment":false,"key":"/pkce-challenge/-/pkce-challenge-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pkce-challenge/download/pkce-challenge-1.0.0.tgz"},"maintainers":[{"name":"crouchcd","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pkce-challenge_1.0.0_1547242642373_0.8037654641213645"},"_hasShrinkwrap":false,"publish_time":1547242642482,"_cnpm_publish_time":1547242642482,"_cnpmcore_publish_time":"2021-12-17T11:00:12.002Z"}},"readme":"# pkce-challenge\n\nGenerate or verify a Proof Key for Code Exchange (PKCE) challenge pair.\n\nRead more about [PKCE](https://www.oauth.com/oauth2-servers/pkce/authorization-request/).\n\n## Installation\n\n```bash\nnpm install pkce-challenge\n```\n\n## Usage\n\nDefault length for the verifier is 43\n\n```js\nimport pkceChallenge from \"pkce-challenge\";\n\nawait pkceChallenge();\n```\n\ngives something like:\n\n```js\n{\n    code_verifier: 'u1ta-MQ0e7TcpHjgz33M2DcBnOQu~aMGxuiZt0QMD1C',\n    code_challenge: 'CUZX5qE8Wvye6kS_SasIsa8MMxacJftmWdsIA_iKp3I',\n    code_challenge_method: 'S256'\n}\n```\n\n### Specify a verifier length\n\n```js\nconst challenge = await pkceChallenge(128);\n\nchallenge.code_verifier.length === 128; // true\n```\n\n### Specify a challenge method\n\nThe library supports two challenge methods:\n- `S256` (default): SHA-256 hashing\n- `plain`: No hashing (verifier equals challenge)\n\n```js\n// Use S256 method (default)\nconst challenge = await pkceChallenge(43, \"S256\");\nchallenge.code_challenge_method === \"S256\"; // true\n\n// Use plain method\nconst plainChallenge = await pkceChallenge(43, \"plain\");\nplainChallenge.code_challenge_method === \"plain\"; // true\nplainChallenge.code_challenge === plainChallenge.code_verifier; // true\n```\n\n### Challenge verification\n\n```js\nimport { verifyChallenge } from \"pkce-challenge\";\n\n(await verifyChallenge(challenge.code_verifier, challenge.code_challenge)) ===\n  true; // true\n\n// Verify with specific method\n(await verifyChallenge(\n  challenge.code_verifier,\n  challenge.code_challenge,\n  \"S256\"\n)) === true; // true\n```\n\n### Challenge generation from existing code verifier\n\n```js\nimport { generateChallenge } from \"pkce-challenge\";\n\n(await generateChallenge(challenge.code_verifier)) === challenge.code_challenge; // true\n\n// Generate with specific method\n(await generateChallenge(challenge.code_verifier, \"S256\")) ===\n  challenge.code_challenge; // true\n```\n","_attachments":{},"homepage":"https://github.com/crouchcd/pkce-challenge#readme","bugs":{"url":"https://github.com/crouchcd/pkce-challenge/issues"},"license":"MIT"}