{"_id":"@airconcepts/oauth2-server","_rev":"7-43780519e053299d876f10e590c55325","name":"@airconcepts/oauth2-server","dist-tags":{"latest":"4.0.2"},"versions":{"3.4.2":{"name":"@airconcepts/oauth2-server","version":"3.4.2","author":{"name":"Jason Raimondi","email":"jason@raimondi.us"},"license":"MIT","_id":"@airconcepts/oauth2-server@3.4.2","maintainers":[{"name":"helloair","email":"dev@hello-air.com"}],"dist":{"shasum":"89edad9d989523d3c53617d509c747a0c39f76df","tarball":"https://registry.npmjs.org/@airconcepts/oauth2-server/-/oauth2-server-3.4.2.tgz","fileCount":74,"integrity":"sha512-Uxm11iPAAWkhWt/IdZFM0pFiBtlXsEYgwp4kHzQinC9XR4sq2wF0U1v5taFcrwMSJWgw29SJxCOxBeukBiRniw==","signatures":[{"sig":"MEQCIDOhnmAh/lG59xNnLZH6guQ1Y3V977+ffEWIG7fQC6i0AiA1+JwxVSWRxeTGq0DC1g1DFokNjsMIHePMbB4AoQTPVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":472864},"main":"./dist/index.js","tsup":{"dts":true,"clean":true,"entry":{"index":"./src/index.ts","express":"./src/adapters/express.ts","fastify":"./src/adapters/fastify.ts","vanilla":"./src/adapters/vanilla.ts"},"format":["cjs","esm"],"target":"node16","sourcemap":true,"splitting":false},"type":"module","_from":"file:airconcepts-oauth2-server-3.4.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","require":"./dist/express.cjs"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","require":"./dist/fastify.cjs"},"./vanilla":{"types":"./dist/vanilla.d.ts","import":"./dist/vanilla.js","require":"./dist/vanilla.cjs"}},"funding":"https://github.com/sponsors/jasonraimondi","scripts":{"test":"vitest run","build":"run-s clean bundle","clean":"rimraf dist","start":"tsc -p tsconfig.build.json --watch","bundle":"tsup","format":"prettier --write \"**/*.{ts,js,tsx,md,mdx}\"","prebuild":"run-s clean","test:cov":"vitest run --coverage","test:watch":"vitest"},"_npmUser":{"name":"helloair","email":"dev@hello-air.com"},"_resolved":"/tmp/fb8c7d1a2401163beb0816df9c8fe6d4/airconcepts-oauth2-server-3.4.2.tgz","_integrity":"sha512-Uxm11iPAAWkhWt/IdZFM0pFiBtlXsEYgwp4kHzQinC9XR4sq2wF0U1v5taFcrwMSJWgw29SJxCOxBeukBiRniw==","_npmVersion":"10.7.0","description":"[![JSR](https://jsr.io/badges/@jmondi/oauth2-server)](https://jsr.io/@jmondi/oauth2-server) [![GitHub package.json version](https://img.shields.io/github/package-json/v/jasonraimondi/ts-oauth2-server?style=flat-square)](https://github.com/jasonraimondi/ts","directories":{},"_nodeVersion":"20.15.1","dependencies":{"ms":"^2.1.3","jose":"^5.6.3","uri-js":"^4.4.1"},"typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","vite":"^5.3.2","tslib":"^2.6.3","rimraf":"^5.0.7","vitest":"^1.6.0","express":"^4.19.2","fastify":"^4.28.1","prettier":"^3.3.2","@types/ms":"^0.7.34","supertest":"^7.0.0","typescript":"^5.5.3","@types/node":"^20.14.9","body-parser":"^1.20.2","npm-run-all":"^4.1.5","@types/express":"^4.17.21","@types/supertest":"^6.0.2","@types/body-parser":"^1.19.5","@vitest/coverage-istanbul":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-server_3.4.2_1722830020221_0.7357013076916865","host":"s3://npm-registry-packages"}},"3.4.3":{"name":"@airconcepts/oauth2-server","version":"3.4.3","author":{"name":"Jason Raimondi","email":"jason@raimondi.us"},"license":"MIT","_id":"@airconcepts/oauth2-server@3.4.3","maintainers":[{"name":"helloair","email":"dev@hello-air.com"}],"dist":{"shasum":"4f832eef6e761bb1250062496b8b45e9f277e253","tarball":"https://registry.npmjs.org/@airconcepts/oauth2-server/-/oauth2-server-3.4.3.tgz","fileCount":74,"integrity":"sha512-EOyvC0E2mRLgsY6nUjWUU6YCQv6BazH0l4k6QZ+iNeGn/BNliN4ltErkCPKikSyf62dtxncl7snL8p+btRnAcA==","signatures":[{"sig":"MEUCIQDL1FGkE6hKhZ1B5G7558ffQtwbPVCDYEy3YAODLoq5OQIgHlAssrMKL0YB9LZ2RqZca1Hlpc9Bl3R04C4NwsV3Tfs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494276},"main":"./dist/index.js","tsup":{"dts":true,"clean":true,"entry":{"index":"./src/index.ts","express":"./src/adapters/express.ts","fastify":"./src/adapters/fastify.ts","vanilla":"./src/adapters/vanilla.ts"},"format":["cjs","esm"],"target":"node16","sourcemap":true,"splitting":false},"type":"module","_from":"file:airconcepts-oauth2-server-3.4.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","require":"./dist/express.cjs"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","require":"./dist/fastify.cjs"},"./vanilla":{"types":"./dist/vanilla.d.ts","import":"./dist/vanilla.js","require":"./dist/vanilla.cjs"}},"funding":"https://github.com/sponsors/jasonraimondi","scripts":{"test":"vitest run","build":"run-s clean bundle","clean":"rimraf dist","start":"tsc -p tsconfig.build.json --watch","bundle":"tsup","format":"prettier --write \"**/*.{ts,js,tsx,md,mdx}\"","prebuild":"run-s clean","test:cov":"vitest run --coverage","test:watch":"vitest"},"_npmUser":{"name":"helloair","email":"dev@hello-air.com"},"_resolved":"/tmp/7f8bf5214bca99dc30e8af22e6bb25f6/airconcepts-oauth2-server-3.4.3.tgz","_integrity":"sha512-EOyvC0E2mRLgsY6nUjWUU6YCQv6BazH0l4k6QZ+iNeGn/BNliN4ltErkCPKikSyf62dtxncl7snL8p+btRnAcA==","_npmVersion":"10.7.0","description":"[![JSR](https://jsr.io/badges/@jmondi/oauth2-server)](https://jsr.io/@jmondi/oauth2-server) [![GitHub package.json version](https://img.shields.io/github/package-json/v/jasonraimondi/ts-oauth2-server?style=flat-square)](https://github.com/jasonraimondi/ts","directories":{},"_nodeVersion":"20.15.1","dependencies":{"ms":"^2.1.3","jose":"^5.6.3","uri-js":"^4.4.1"},"typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","vite":"^5.3.2","tslib":"^2.6.3","rimraf":"^5.0.7","vitest":"^1.6.0","express":"^4.19.2","fastify":"^4.28.1","prettier":"^3.3.2","@types/ms":"^0.7.34","supertest":"^7.0.0","typescript":"^5.5.3","@types/node":"^20.14.9","body-parser":"^1.20.2","npm-run-all":"^4.1.5","@types/express":"^4.17.21","@types/supertest":"^6.0.2","@types/body-parser":"^1.19.5","@vitest/coverage-istanbul":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-server_3.4.3_1722899400322_0.5532601349896165","host":"s3://npm-registry-packages"}},"3.4.4":{"name":"@airconcepts/oauth2-server","version":"3.4.4","author":{"name":"Jason Raimondi","email":"jason@raimondi.us"},"license":"MIT","_id":"@airconcepts/oauth2-server@3.4.4","maintainers":[{"name":"helloair","email":"dev@hello-air.com"}],"dist":{"shasum":"5b6a74066c2175fc103940a7614029066e3640ac","tarball":"https://registry.npmjs.org/@airconcepts/oauth2-server/-/oauth2-server-3.4.4.tgz","fileCount":74,"integrity":"sha512-iwajLF81HAagWsRQwnY5jynhNSdH71f9BGu4AorMLMJI1hbq+kiMPa8rTiRPjfGxhvtjkeiApaFuoFxZbB7DEw==","signatures":[{"sig":"MEQCIALkncscsbaLFAHCbIBF5E/k2yF/3ye0ZGIBfcaHiVq1AiAxdO7lTXNBuXDPlI7S0bMcGIZ3+8gR6p2GXSZhcBCL6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494536},"main":"./dist/index.js","tsup":{"dts":true,"clean":true,"entry":{"index":"./src/index.ts","express":"./src/adapters/express.ts","fastify":"./src/adapters/fastify.ts","vanilla":"./src/adapters/vanilla.ts"},"format":["cjs","esm"],"target":"node16","sourcemap":true,"splitting":false},"type":"module","_from":"file:airconcepts-oauth2-server-3.4.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","require":"./dist/express.cjs"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","require":"./dist/fastify.cjs"},"./vanilla":{"types":"./dist/vanilla.d.ts","import":"./dist/vanilla.js","require":"./dist/vanilla.cjs"}},"funding":"https://github.com/sponsors/jasonraimondi","scripts":{"test":"vitest run","build":"run-s clean bundle","clean":"rimraf dist","start":"tsc -p tsconfig.build.json --watch","bundle":"tsup","format":"prettier --write \"**/*.{ts,js,tsx,md,mdx}\"","prebuild":"run-s clean","test:cov":"vitest run --coverage","test:watch":"vitest"},"_npmUser":{"name":"helloair","email":"dev@hello-air.com"},"_resolved":"/tmp/5f84e3913d393642d74b883d8da907a1/airconcepts-oauth2-server-3.4.4.tgz","_integrity":"sha512-iwajLF81HAagWsRQwnY5jynhNSdH71f9BGu4AorMLMJI1hbq+kiMPa8rTiRPjfGxhvtjkeiApaFuoFxZbB7DEw==","_npmVersion":"10.7.0","description":"[![JSR](https://jsr.io/badges/@jmondi/oauth2-server)](https://jsr.io/@jmondi/oauth2-server) [![GitHub package.json version](https://img.shields.io/github/package-json/v/jasonraimondi/ts-oauth2-server?style=flat-square)](https://github.com/jasonraimondi/ts","directories":{},"_nodeVersion":"20.15.1","dependencies":{"ms":"^2.1.3","jose":"^5.6.3","uri-js":"^4.4.1"},"typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","vite":"^5.3.2","tslib":"^2.6.3","rimraf":"^5.0.7","vitest":"^1.6.0","express":"^4.19.2","fastify":"^4.28.1","prettier":"^3.3.2","@types/ms":"^0.7.34","supertest":"^7.0.0","typescript":"^5.5.3","@types/node":"^20.14.9","body-parser":"^1.20.2","npm-run-all":"^4.1.5","@types/express":"^4.17.21","@types/supertest":"^6.0.2","@types/body-parser":"^1.19.5","@vitest/coverage-istanbul":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-server_3.4.4_1722968572430_0.19818520373690096","host":"s3://npm-registry-packages"}},"3.4.5":{"name":"@airconcepts/oauth2-server","version":"3.4.5","author":{"name":"Jason Raimondi","email":"jason@raimondi.us"},"license":"MIT","_id":"@airconcepts/oauth2-server@3.4.5","maintainers":[{"name":"helloair","email":"dev@hello-air.com"}],"dist":{"shasum":"f46067f81ef78614d25d461124be76a44c0e51f1","tarball":"https://registry.npmjs.org/@airconcepts/oauth2-server/-/oauth2-server-3.4.5.tgz","fileCount":74,"integrity":"sha512-xt7wHmMMjHC6kkCmli/9uPAn7pqyPhPthtdS4bciwHmiyaPtaBeKGLnalJlr/SpxSRciZ3B3otuiMrmHvCzWKQ==","signatures":[{"sig":"MEUCIH+gR9LQoY7BZP4yIGgYG/MfHD6kC9zTq8PWN6hOmHMtAiEAv3M6OI9Rm0RVYpuYDybCYLWxDmyHDOw7XXpYhk9ZKQI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494539},"main":"./dist/index.js","tsup":{"dts":true,"clean":true,"entry":{"index":"./src/index.ts","express":"./src/adapters/express.ts","fastify":"./src/adapters/fastify.ts","vanilla":"./src/adapters/vanilla.ts"},"format":["cjs","esm"],"target":"node16","sourcemap":true,"splitting":false},"type":"module","_from":"file:airconcepts-oauth2-server-3.4.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","require":"./dist/express.cjs"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","require":"./dist/fastify.cjs"},"./vanilla":{"types":"./dist/vanilla.d.ts","import":"./dist/vanilla.js","require":"./dist/vanilla.cjs"}},"funding":"https://github.com/sponsors/jasonraimondi","scripts":{"test":"vitest run","build":"run-s clean bundle","clean":"rimraf dist","start":"tsc -p tsconfig.build.json --watch","bundle":"tsup","format":"prettier --write \"**/*.{ts,js,tsx,md,mdx}\"","prebuild":"run-s clean","test:cov":"vitest run --coverage","test:watch":"vitest"},"_npmUser":{"name":"helloair","email":"dev@hello-air.com"},"_resolved":"/tmp/7626481e3017f1e28e9aae35063e1d7c/airconcepts-oauth2-server-3.4.5.tgz","_integrity":"sha512-xt7wHmMMjHC6kkCmli/9uPAn7pqyPhPthtdS4bciwHmiyaPtaBeKGLnalJlr/SpxSRciZ3B3otuiMrmHvCzWKQ==","_npmVersion":"10.7.0","description":"[![JSR](https://jsr.io/badges/@jmondi/oauth2-server)](https://jsr.io/@jmondi/oauth2-server) [![GitHub package.json version](https://img.shields.io/github/package-json/v/jasonraimondi/ts-oauth2-server?style=flat-square)](https://github.com/jasonraimondi/ts","directories":{},"_nodeVersion":"20.15.1","dependencies":{"ms":"^2.1.3","jose":"^5.6.3","uri-js":"^4.4.1"},"typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","vite":"^5.3.2","tslib":"^2.6.3","rimraf":"^5.0.7","vitest":"^1.6.0","express":"^4.19.2","fastify":"^4.28.1","prettier":"^3.3.2","@types/ms":"^0.7.34","supertest":"^7.0.0","typescript":"^5.5.3","@types/node":"^20.14.9","body-parser":"^1.20.2","npm-run-all":"^4.1.5","@types/express":"^4.17.21","@types/supertest":"^6.0.2","@types/body-parser":"^1.19.5","@vitest/coverage-istanbul":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-server_3.4.5_1722968713831_0.07826387037405436","host":"s3://npm-registry-packages"}},"3.4.6":{"name":"@airconcepts/oauth2-server","version":"3.4.6","author":{"name":"Jason Raimondi","email":"jason@raimondi.us"},"license":"MIT","_id":"@airconcepts/oauth2-server@3.4.6","maintainers":[{"name":"helloair","email":"dev@hello-air.com"}],"dist":{"shasum":"ef6b315ed66e1b45afe8efd4e2f4e4b42ba8b3d7","tarball":"https://registry.npmjs.org/@airconcepts/oauth2-server/-/oauth2-server-3.4.6.tgz","fileCount":74,"integrity":"sha512-O8vAesTVTcfGoFjWGxuo2pG5m+L+b1LhUvbjuBR9R3O4NzUUMD3JCytXSk/b0533i6NHclph1EFiniVG2jHsgw==","signatures":[{"sig":"MEUCIBj+sAtCGQIBTmpsLXsNjHtv73aoorFRjsAGfZZPZC2cAiEA+gs2tyRN/0qFrJewarbEPfomiC3R+hC0EhompsYExbo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500980},"main":"./dist/index.js","tsup":{"dts":true,"clean":true,"entry":{"index":"./src/index.ts","express":"./src/adapters/express.ts","fastify":"./src/adapters/fastify.ts","vanilla":"./src/adapters/vanilla.ts"},"format":["cjs","esm"],"target":"node16","sourcemap":true,"splitting":false},"type":"module","_from":"file:airconcepts-oauth2-server-3.4.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","require":"./dist/express.cjs"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","require":"./dist/fastify.cjs"},"./vanilla":{"types":"./dist/vanilla.d.ts","import":"./dist/vanilla.js","require":"./dist/vanilla.cjs"}},"funding":"https://github.com/sponsors/jasonraimondi","scripts":{"test":"vitest run","build":"run-s clean bundle","clean":"rimraf dist","start":"tsc -p tsconfig.build.json --watch","bundle":"tsup","format":"prettier --write \"**/*.{ts,js,tsx,md,mdx}\"","prebuild":"run-s clean","test:cov":"vitest run --coverage","test:watch":"vitest"},"_npmUser":{"name":"helloair","email":"dev@hello-air.com"},"_resolved":"/tmp/51139375823f4704dc49aaf292a24477/airconcepts-oauth2-server-3.4.6.tgz","_integrity":"sha512-O8vAesTVTcfGoFjWGxuo2pG5m+L+b1LhUvbjuBR9R3O4NzUUMD3JCytXSk/b0533i6NHclph1EFiniVG2jHsgw==","_npmVersion":"10.7.0","description":"[![JSR](https://jsr.io/badges/@jmondi/oauth2-server)](https://jsr.io/@jmondi/oauth2-server) [![GitHub package.json version](https://img.shields.io/github/package-json/v/jasonraimondi/ts-oauth2-server?style=flat-square)](https://github.com/jasonraimondi/ts","directories":{},"_nodeVersion":"20.15.1","dependencies":{"ms":"^2.1.3","jose":"^5.6.3","uri-js":"^4.4.1"},"typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","vite":"^5.3.2","tslib":"^2.6.3","rimraf":"^5.0.7","vitest":"^1.6.0","express":"^4.19.2","fastify":"^4.28.1","prettier":"^3.3.2","@types/ms":"^0.7.34","supertest":"^7.0.0","typescript":"^5.5.3","@types/node":"^20.14.9","body-parser":"^1.20.2","npm-run-all":"^4.1.5","@types/express":"^4.17.21","@types/supertest":"^6.0.2","@types/body-parser":"^1.19.5","@vitest/coverage-istanbul":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-server_3.4.6_1722970079332_0.8652996233376589","host":"s3://npm-registry-packages"}},"3.4.7":{"name":"@airconcepts/oauth2-server","version":"3.4.7","author":{"name":"Jason Raimondi","email":"jason@raimondi.us"},"license":"MIT","_id":"@airconcepts/oauth2-server@3.4.7","maintainers":[{"name":"helloair","email":"dev@hello-air.com"}],"dist":{"shasum":"c59f696849532f0494e2cbcdfd6a81697bb38d5e","tarball":"https://registry.npmjs.org/@airconcepts/oauth2-server/-/oauth2-server-3.4.7.tgz","fileCount":74,"integrity":"sha512-+aLv0ljui3mDNi4GUZvWwAMemtpF/rQc1JETPqAgyNI9JgKvjSzF8pPilXrX1qb/D4D5CstvG+oHCLMKMloQtg==","signatures":[{"sig":"MEUCIQD9SjC/KAzDyGCRdXBG7qemsGtj3frbhIi12qYYunjZAgIgZhAYlWvcjRBEQ1Ku1++fT5zQCT2lspVwx+3i1Lik9vA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500963},"main":"./dist/index.js","tsup":{"dts":true,"clean":true,"entry":{"index":"./src/index.ts","express":"./src/adapters/express.ts","fastify":"./src/adapters/fastify.ts","vanilla":"./src/adapters/vanilla.ts"},"format":["cjs","esm"],"target":"node16","sourcemap":true,"splitting":false},"type":"module","_from":"file:airconcepts-oauth2-server-3.4.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","require":"./dist/express.cjs"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","require":"./dist/fastify.cjs"},"./vanilla":{"types":"./dist/vanilla.d.ts","import":"./dist/vanilla.js","require":"./dist/vanilla.cjs"}},"funding":"https://github.com/sponsors/jasonraimondi","scripts":{"test":"vitest run","build":"run-s clean bundle","clean":"rimraf dist","start":"tsc -p tsconfig.build.json --watch","bundle":"tsup","format":"prettier --write \"**/*.{ts,js,tsx,md,mdx}\"","prebuild":"run-s clean","test:cov":"vitest run --coverage","test:watch":"vitest"},"_npmUser":{"name":"helloair","email":"dev@hello-air.com"},"_resolved":"/tmp/ae70126a73b0433f35ead8d98ac7a975/airconcepts-oauth2-server-3.4.7.tgz","_integrity":"sha512-+aLv0ljui3mDNi4GUZvWwAMemtpF/rQc1JETPqAgyNI9JgKvjSzF8pPilXrX1qb/D4D5CstvG+oHCLMKMloQtg==","_npmVersion":"10.7.0","description":"[![JSR](https://jsr.io/badges/@jmondi/oauth2-server)](https://jsr.io/@jmondi/oauth2-server) [![GitHub package.json version](https://img.shields.io/github/package-json/v/jasonraimondi/ts-oauth2-server?style=flat-square)](https://github.com/jasonraimondi/ts","directories":{},"_nodeVersion":"20.15.1","dependencies":{"ms":"^2.1.3","jose":"^5.6.3","uri-js":"^4.4.1"},"typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","vite":"^5.3.2","tslib":"^2.6.3","rimraf":"^5.0.7","vitest":"^1.6.0","express":"^4.19.2","fastify":"^4.28.1","prettier":"^3.3.2","@types/ms":"^0.7.34","supertest":"^7.0.0","typescript":"^5.5.3","@types/node":"^20.14.9","body-parser":"^1.20.2","npm-run-all":"^4.1.5","@types/express":"^4.17.21","@types/supertest":"^6.0.2","@types/body-parser":"^1.19.5","@vitest/coverage-istanbul":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-server_3.4.7_1722970278400_0.4198567176617347","host":"s3://npm-registry-packages"}},"3.4.8":{"name":"@airconcepts/oauth2-server","version":"3.4.8","author":{"name":"Jason Raimondi","email":"jason@raimondi.us"},"license":"MIT","_id":"@airconcepts/oauth2-server@3.4.8","maintainers":[{"name":"helloair","email":"dev@hello-air.com"}],"dist":{"shasum":"c9a0ee7da1656f2ddb5475c10807bd646a425836","tarball":"https://registry.npmjs.org/@airconcepts/oauth2-server/-/oauth2-server-3.4.8.tgz","fileCount":74,"integrity":"sha512-dOBh3gz1F44y16A6pXMRfDn5cEvSet1KcCZMvqwwJRgdjaA1M9kBSqHPLNaTwRKtqHtFS5iy8Nt4CxjIbP91Eg==","signatures":[{"sig":"MEUCIQClsTyD8L+PvZBmj/Qzg8tnrAlH2cTp3+lAme/dGKI+SgIgLGEWLTx8Taqx61P+alL7KPqdfJvrG1ECy1Lv8Fsgrp4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":505153},"main":"./dist/index.js","tsup":{"dts":true,"clean":true,"entry":{"index":"./src/index.ts","express":"./src/adapters/express.ts","fastify":"./src/adapters/fastify.ts","vanilla":"./src/adapters/vanilla.ts"},"format":["cjs","esm"],"target":"node16","sourcemap":true,"splitting":false},"type":"module","_from":"file:airconcepts-oauth2-server-3.4.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./express":{"types":"./dist/express.d.ts","import":"./dist/express.js","require":"./dist/express.cjs"},"./fastify":{"types":"./dist/fastify.d.ts","import":"./dist/fastify.js","require":"./dist/fastify.cjs"},"./vanilla":{"types":"./dist/vanilla.d.ts","import":"./dist/vanilla.js","require":"./dist/vanilla.cjs"}},"funding":"https://github.com/sponsors/jasonraimondi","scripts":{"test":"vitest run","build":"run-s clean bundle","clean":"rimraf dist","start":"tsc -p tsconfig.build.json --watch","bundle":"tsup","format":"prettier --write \"**/*.{ts,js,tsx,md,mdx}\"","prebuild":"run-s clean","test:cov":"vitest run --coverage","test:watch":"vitest"},"_npmUser":{"name":"helloair","email":"dev@hello-air.com"},"_resolved":"/tmp/2ab77472ae97a0cac1e82270d8f416a5/airconcepts-oauth2-server-3.4.8.tgz","_integrity":"sha512-dOBh3gz1F44y16A6pXMRfDn5cEvSet1KcCZMvqwwJRgdjaA1M9kBSqHPLNaTwRKtqHtFS5iy8Nt4CxjIbP91Eg==","_npmVersion":"10.7.0","description":"[![JSR](https://jsr.io/badges/@jmondi/oauth2-server)](https://jsr.io/@jmondi/oauth2-server) [![GitHub package.json version](https://img.shields.io/github/package-json/v/jasonraimondi/ts-oauth2-server?style=flat-square)](https://github.com/jasonraimondi/ts","directories":{},"_nodeVersion":"20.15.1","dependencies":{"ms":"^2.1.3","jose":"^5.6.3","uri-js":"^4.4.1"},"typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","vite":"^5.3.2","tslib":"^2.6.3","rimraf":"^5.0.7","vitest":"^1.6.0","express":"^4.19.2","fastify":"^4.28.1","prettier":"^3.3.2","@types/ms":"^0.7.34","supertest":"^7.0.0","typescript":"^5.5.3","@types/node":"^20.14.9","body-parser":"^1.20.2","npm-run-all":"^4.1.5","@types/express":"^4.17.21","@types/supertest":"^6.0.2","@types/body-parser":"^1.19.5","@vitest/coverage-istanbul":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-server_3.4.8_1723008470190_0.04973438717926526","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"@airconcepts/oauth2-server","version":"4.0.2","type":"module","author":{"name":"Jason Raimondi","email":"jason@raimondi.us"},"funding":"https://github.com/sponsors/jasonraimondi","license":"MIT","scripts":{"clean":"rimraf dist","prebuild":"run-s clean","bundle":"tsup","build":"run-s clean bundle","start":"tsc -p tsconfig.build.json --watch","test":"vitest run","test:watch":"vitest","test:cov":"vitest run --coverage","format":"prettier --write \"**/*.{ts,js,tsx,md,mdx}\"","prepublishOnly":"run-s build test"},"exports":{".":"./src/index.ts","./vanilla":"./src/adapters/vanilla.ts","./express":"./src/adapters/express.ts","./fastify":"./src/adapters/fastify.ts"},"publishConfig":{"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types":"./dist/index.d.ts"},"./vanilla":{"import":"./dist/vanilla.js","require":"./dist/vanilla.cjs","types":"./dist/vanilla.d.ts"},"./express":{"import":"./dist/express.js","require":"./dist/express.cjs","types":"./dist/express.d.ts"},"./fastify":{"import":"./dist/fastify.js","require":"./dist/fastify.cjs","types":"./dist/fastify.d.ts"}},"typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}}},"engines":{"node":">=16"},"devDependencies":{"@types/body-parser":"^1.19.5","@types/express":"^4.17.21","@types/ms":"^0.7.34","@types/node":"^20.14.9","@types/supertest":"^6.0.2","@vitest/coverage-istanbul":"^1.6.0","body-parser":"^1.20.2","express":"^4.19.2","fastify":"^4.28.1","npm-run-all":"^4.1.5","prettier":"^3.3.2","rimraf":"^5.0.7","supertest":"^7.0.0","tslib":"^2.6.3","tsup":"^8.1.0","typescript":"^5.5.3","vite":"^5.3.2","vitest":"^1.6.0"},"dependencies":{"jose":"^5.6.3","ms":"^2.1.3","uri-js":"^4.4.1"},"tsup":{"entry":{"index":"./src/index.ts","vanilla":"./src/adapters/vanilla.ts","express":"./src/adapters/express.ts","fastify":"./src/adapters/fastify.ts"},"format":["cjs","esm"],"target":"node16","clean":true,"dts":true,"splitting":false,"sourcemap":true},"_id":"@airconcepts/oauth2-server@4.0.2","gitHead":"c078570564b8b0a850f8260fe1376f883eebcb47","description":"[![JSR](https://jsr.io/badges/@jmondi/oauth2-server?style=flat-square)](https://jsr.io/@jmondi/oauth2-server) [![NPM Version](https://img.shields.io/npm/v/%40jmondi%2Foauth2-server?style=flat-square)](https://www.npmjs.com/package/@jmondi/oauth2-server) [","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-AjbrZPPj+IzlcudzJYZjE7nAjK3O4XM2snwRI/n+7BOLE49c5Qz9OwlOciCLzJpCQZp0y5Z2uqpt5WtIzmDzPQ==","shasum":"1aa6ff702df64b23c6618b86e5b33d2482faeade","tarball":"https://registry.npmjs.org/@airconcepts/oauth2-server/-/oauth2-server-4.0.2.tgz","fileCount":74,"unpackedSize":520012,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJIQiBmss0qoxL9SfwYtMUx4PpZv+Y0j/4nTY8Dds99QIhAOGLL2aYu/bmO0hlk5+xE6fVNaV79tMZRmeaJB7dtKfp"}]},"_npmUser":{"name":"helloair","email":"dev@hello-air.com"},"directories":{},"maintainers":[{"name":"helloair","email":"dev@hello-air.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/oauth2-server_4.0.2_1725905319138_0.29316634861642177"},"_hasShrinkwrap":false}},"time":{"created":"2024-08-05T03:53:40.139Z","modified":"2024-09-09T18:08:39.542Z","3.4.2":"2024-08-05T03:53:40.361Z","3.4.3":"2024-08-05T23:10:00.515Z","3.4.4":"2024-08-06T18:22:52.757Z","3.4.5":"2024-08-06T18:25:14.053Z","3.4.6":"2024-08-06T18:47:59.493Z","3.4.7":"2024-08-06T18:51:18.579Z","3.4.8":"2024-08-07T05:27:50.363Z","4.0.2":"2024-09-09T18:08:39.324Z"},"author":{"name":"Jason Raimondi","email":"jason@raimondi.us"},"license":"MIT","description":"[![JSR](https://jsr.io/badges/@jmondi/oauth2-server?style=flat-square)](https://jsr.io/@jmondi/oauth2-server) [![NPM Version](https://img.shields.io/npm/v/%40jmondi%2Foauth2-server?style=flat-square)](https://www.npmjs.com/package/@jmondi/oauth2-server) [","maintainers":[{"name":"helloair","email":"dev@hello-air.com"}],"readme":"# TypeScript OAuth2.0 Server\n\n[![JSR](https://jsr.io/badges/@jmondi/oauth2-server?style=flat-square)](https://jsr.io/@jmondi/oauth2-server)\n[![NPM Version](https://img.shields.io/npm/v/%40jmondi%2Foauth2-server?style=flat-square)](https://www.npmjs.com/package/@jmondi/oauth2-server)\n[![GitHub Workflow Status]( https://img.shields.io/github/actions/workflow/status/jasonraimondi/ts-oauth2-server/build-and-test.yml?branch=main&style=flat-square)](https://github.com/jasonraimondi/ts-oauth2-server)\n[![Test Coverage](https://img.shields.io/codeclimate/coverage/jasonraimondi/typescript-oauth2-server?style=flat-square)](https://codeclimate.com/github/jasonraimondi/typescript-oauth2-server/test_coverage)\n[![NPM Downloads](https://img.shields.io/npm/dt/@jmondi/oauth2-server?label=npm%20downloads&style=flat-square)](https://www.npmjs.com/package/@jmondi/oauth2-server)\n\n`@jmondi/oauth2-server` is a standards compliant implementation of an OAuth 2.0 authorization server written in TypeScript. \n\nRequires `node >= 18`. [Read the docs](https://tsoauth2server.com/)\n\nThe following RFCs are implemented:\n\n- [RFC6749 \"OAuth 2.0\"](https://tools.ietf.org/html/rfc6749)\n- [RFC6750 \"The OAuth 2.0 Authorization Framework: Bearer Token Usage\"](https://tools.ietf.org/html/rfc6750)\n- [RFC7009 \"OAuth 2.0 Token Revocation\"](https://tools.ietf.org/html/rfc7009)\n- [RFC7519 \"JSON Web Token (JWT)\"](https://tools.ietf.org/html/rfc7519)\n- [RFC7636 \"Proof Key for Code Exchange by OAuth Public Clients\"](https://tools.ietf.org/html/rfc7636)\n- [RFC7662 \"OAuth 2.0 Token Introspection\"](https://tools.ietf.org/html/rfc7662)\n- [RFC8693 \"OAuth 2.0 Token Exchange\"](https://datatracker.ietf.org/doc/html/rfc8693)\n\nOut of the box it supports the following grants:\n\n- [Authorization code grant](https://tsoauth2server.com/docs/grants/authorization_code)\n- [Client credentials grant](https://tsoauth2server.com/docs/grants/client_credentials)\n- [Refresh grant](https://tsoauth2server.com/docs/grants/refresh_token)\n- [Implicit grant](https://tsoauth2server.com/docs/grants/implicit) // not recommended \n- [Resource owner password credentials grant](https://tsoauth2server.com/docs/grants/password) // not recommended\n\nFramework support:\n\nThe included adapters are just helper functions, any framework should be supported. Take a look at the adapter implementations to learn how you can create custom adapters for your favorite tool!\n\n- [VanillaJS](https://tsoauth2server.com/docs/adapters/vanilla)\n- [Express](https://tsoauth2server.com/docs/adapters/express)\n- [Fastify](https://tsoauth2server.com/docs/adapters/fastify). \n\nExample implementations:\n\n- [Simple](./example)\n- [Advanced](https://github.com/jasonraimondi/ts-oauth2-server-example)\n\n### Security\n\n| Version         | Latest Version | Security Updates |\n|-----------------|----------------|------------------|\n| [4.x][version4] | :tada:         | :tada:           |\n| [3.x][version3] | :tada:         | :tada:           |\n| [2.x][version2] |                | :tada:           |\n\n[version4]: https://github.com/jasonraimondi/ts-oauth2-server/tree/main\n[version3]: https://github.com/jasonraimondi/ts-oauth2-server/tree/3.x\n[version2]: https://github.com/jasonraimondi/ts-oauth2-server/tree/2.x\n\n## Migration Guide\n\n- [v1 to v2](https://github.com/jasonraimondi/ts-oauth2-server/releases/tag/v2.0.0)\n- [v2 to v3](https://tsoauth2server.com/docs/upgrade_guide#to-v3) \n- [v3 to v4](https://tsoauth2server.com/docs/upgrade_guide#to-v4) \n\n## Thanks\n\nThis project is inspired by the [PHP League's OAuth2 Server](https://oauth2.thephpleague.com/). Check out the [PHP League's other packages](https://thephpleague.com/#packages) for some other great PHP projects.\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=jasonraimondi/ts-oauth2-server&type=Timeline)](https://star-history.com/#jasonraimondi/ts-oauth2-server&Timeline)\n","readmeFilename":"README.md"}