{"_id":"@web-ts-toolkit/express-oidc-vault-redis-store","_rev":"28-30c9db43ebe68abdbf2903c4cbfe2020","name":"@web-ts-toolkit/express-oidc-vault-redis-store","dist-tags":{"latest":"0.48.0"},"versions":{"0.28.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.28.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.28.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"e49b168563696a4892542631638b1fa27acb18ed","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.28.0.tgz","fileCount":7,"integrity":"sha512-UGZySEf4EfzKd6OaCn/rK3CvgiX+sSZ2w6ZeLoEciuPQLzGk454vyNgNrTifzLtMvK5qaF5S7RkCiWj/STwezg==","signatures":[{"sig":"MEUCIQDKwBTQTf/N3f6FAL6jUScQC2o51McfySmnntO6NZA6HwIgZ7e2vovUPmRjKrPLlrKoK48takKbnIIJHH16yIO11YE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34348},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"a8ca3bcd945fe21197aeb69a2f6e87be496c373d","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"redis":"^5.9.0","@web-ts-toolkit/express-oidc-vault":"0.28.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.28.0_1785096890680_0.2583208475320671","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.29.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.29.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"c952316a143d83724d463cf87de39ead6ef9d562","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.29.0.tgz","fileCount":7,"integrity":"sha512-nLE3lfNpLJUNHdR8QioX63sUNMtjGcRfkgL8TnLNR/G0k+ki8gu81y5ezzBGIILU0qPp1tjPvkMP+61IAq+Rbw==","signatures":[{"sig":"MEQCICFxQZZhiFc6onhLhhFbFdhyHfGDGf0c3u5PzzvnNpK0AiBEptGDHnsz2Sw6JBTxBnJQrFNfd749yMlVDTRZ8ro3VQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34348},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"0e738e77429042c0a27398f00f6f6a57903eef17","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"redis":"^5.9.0","@web-ts-toolkit/express-oidc-vault":"0.29.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.29.0_1785288834753_0.3645008440776567","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.30.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.30.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"248b18b526ac997901cd9022dd1cb0aed4ed486b","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.30.0.tgz","fileCount":7,"integrity":"sha512-EVoVK3mezOIXWqII1S9K5PaAARFNDtQwPq8AQarM3xtgLlT3pGZ9PN1H9Y5DZC5jrikN8Y3/JKziY/RixFJH+Q==","signatures":[{"sig":"MEUCIQC2Q5P7SmFOhqAwbRmd/WL2eXhvDVglfZGDIB600hVw/QIgbF2jA+WYRzvqgyxl8gaOp3b/G4HeEwjaa4zJ4P3TcpI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34348},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"f771f097d83c9df4b71456b39296b10f36e6b500","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"redis":"^5.9.0","@web-ts-toolkit/express-oidc-vault":"0.30.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.30.0_1785305212831_0.922227651065527","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.31.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.31.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"e2b55e007e369eb58f97a3e1f90e7279eda8eba2","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.31.0.tgz","fileCount":7,"integrity":"sha512-IJtfieoQ3ki39hPg8GRGfSuMkSP7pcezw+E/0LMzZ2YCiCbLYSlsMj2BZW7eOtoaWIgY2gOpCZx+aQT0f6Y0LQ==","signatures":[{"sig":"MEUCIQD7UDV6bdvUXyGj/Yj37Ad423s+9DwXncov1bfeYTHvZAIgIQJDwmVZGgQR9lYiWwwX+eLPaei5phqerVezlIaF+fI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34348},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"0d20494fbfff507bba3337f1a5e8cd577d649c9c","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"redis":"^5.9.0","@web-ts-toolkit/express-oidc-vault":"0.31.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.31.0_1785347404668_0.04237578982171808","host":"s3://npm-registry-packages-npm-production"}},"0.31.1":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.31.1","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.31.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"c3a7a0b88089075da57575275dd982e6860492b5","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.31.1.tgz","fileCount":7,"integrity":"sha512-xXI/v96dTUP1/jHuuGSU8cR1v0fPnUHDDtoomljfvoLKUAAQdNKxA/COLK4wP1Yo6TJWcS4A0O0UAUOm6T90Kg==","signatures":[{"sig":"MEYCIQCbUNIgee9daqAeFtOdsl+JaukBVekUWGoWFO/F2pBuhQIhAJJGe/dsKGWx8L8Kc2w73mm04l4r3x5qFVtjpk9y0vWZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34348},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"30acc0ac9988bc92937729d277a7ca9b914836aa","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"redis":"^5.9.0","@web-ts-toolkit/express-oidc-vault":"0.31.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.31.1_1785393932850_0.2903006854642647","host":"s3://npm-registry-packages-npm-production"}},"0.31.2":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.31.2","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.31.2","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"370eb3050c7fa121e9619a18b2625b719ec14025","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.31.2.tgz","fileCount":7,"integrity":"sha512-9Qab906V+XZU0ChnT6yrNiLzKUN4InPGwd0IalUC11oURoKF6RDrPH/fCqE19RF0sEOkf2YIK+vsmYCT8QjuDw==","signatures":[{"sig":"MEYCIQCZ3VMqzgvLvBj8d/VLzG/RhU6IyUW1UqU3b5W69LlHIAIhAL1cwDLRIafOgTpq8wn4juEAoDW8o/39L3tklJlx8dW9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34348},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"4fbdedac42d06f6866c0419c424355b205659620","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"redis":"^5.9.0","@web-ts-toolkit/express-oidc-vault":"0.31.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.31.2_1785441840424_0.9444461864823734","host":"s3://npm-registry-packages-npm-production"}},"0.31.3":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.31.3","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.31.3","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"a1014565520ba7df5117dde2514eede80dfd212c","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.31.3.tgz","fileCount":7,"integrity":"sha512-2jYYgAkN20vmMCjFM4hCWPLX/UaNqIYOQwsMvmFJOgsRsoYL04KEz4QQ+DPW1X5l3RfqT404XeIKqKlvnTif4Q==","signatures":[{"sig":"MEQCIHFqF3JT+UIukLsPT3fSxr+3/rB22kS5BHjnLscLEAOeAiA3s4KOl8HKWadHT8ZO+hTMleIv4ttdD/oZ+oiVBQhAoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34348},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"291160bd9fa2ffb3f4a27bc542e3c45159c1fa90","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"redis":"^5.9.0","@web-ts-toolkit/express-oidc-vault":"0.31.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.31.3_1785445970242_0.26647713307502197","host":"s3://npm-registry-packages-npm-production"}},"0.31.4":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.31.4","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.31.4","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"7cca448220f0ba2432d5fb817d8b7b3860154966","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.31.4.tgz","fileCount":7,"integrity":"sha512-H8Ct75sE0mwftcVNMKicH4Uo8qDccdXh6t/R1lydsrab86U513Rwra3J71Z564/IKdzHST8wvjNCTGOUbeqGeg==","signatures":[{"sig":"MEUCIQDsVXPVRCf1vKhEioRTdAeSQVcujJoBS+J5o+Cvq9SDZQIgZ7wP7wwNWMfqYtqua8A88Xv0Hne1HSIHB+5PQl3pAXo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34348},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"f4975b11112e374cc35a0e5f638053788562a798","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"redis":"^5.9.0","@web-ts-toolkit/express-oidc-vault":"0.31.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.31.4_1785449732244_0.8338771260421434","host":"s3://npm-registry-packages-npm-production"}},"0.31.5":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.31.5","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.31.5","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"80f4ba41ccaf0ceeb03ab4c241e6d21e5e50e568","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.31.5.tgz","fileCount":7,"integrity":"sha512-RsMNs5oiDdgbAQwyT9kpkp+08J6DgBdpxDmpZlR+2B0ZVr3Mr+kU7WcAbkfRJrdI14wMkinkz/MM30W3aOS5mA==","signatures":[{"sig":"MEQCIDRLxwzHk0uowjLpRS9xhvbGybInJBzg2Bf2ZTvt99grAiAm9n7ZI8Hlr/7rG3pnEPT3AOzogOfzcHrqwWyLJLcyUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34348},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"bf0fafe571eb86948c1624babdcfb1ab71e90c62","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"redis":"^5.9.0","@web-ts-toolkit/express-oidc-vault":"0.31.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.31.5_1785450565534_0.6761208518578607","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.32.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.32.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"f08d8ea65c7c42fdcff245a52f41d1f26fdf4eac","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.32.0.tgz","fileCount":7,"integrity":"sha512-Hw4Kv7p2A4Ws3mF/12d5lA7EmTeACiWA7iyUk0vqb+8VdKH9TRvqlURysj6VmaQyc/mTEHPR70B8rAs4RUFRyA==","signatures":[{"sig":"MEUCIBIvZGutfiZH2lF/BW4umLmMBqQgW5qMeXq6IcyAVjQZAiEAwkiFaULcEfrIgOnD5YDnWuC22WjTyOE3dTDUbwriZEI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34348},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"d47498b9113ecab5de3d866fa6059b03d2436716","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"redis":"^5.9.0","@web-ts-toolkit/express-oidc-vault":"0.32.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.32.0_1785612112033_0.14633680179692354","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.33.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.33.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"76e6c740b29f3850be250547590807397b499da8","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.33.0.tgz","fileCount":7,"integrity":"sha512-a5MsrCQBV/nh2VH6XAjfHlgOBdFhD4igOHRXTvl0VADZBW0bCsSD4ZX+F7+u6lxAkj3SteEcbfYR47dZQJCZHA==","signatures":[{"sig":"MEUCIFMw9UinDL1U8dqZJu8Id1l7itjyIK0kLTtJ9Pw2Ol4aAiEA0Agi7B711c7lc9V60wvjEDFCdOP7VRcCqFnw99Rt5rI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"6c0dbaf789971b0dceb8447e865cea5fa055b433","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.17.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.33.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.33.0_1786738064293_0.11472868381442547","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.34.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.34.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"794a94457280d1b54de7b129e5114739a74ae3dd","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.34.0.tgz","fileCount":7,"integrity":"sha512-7HCmMcGXAgsZTUwtIXRpNHiKfvdR7cx0mf5MO9cd4b9ZWlEiCqFXx2oMgeM3De8ehTBhITZgfDoPhp+2Uw0lEw==","signatures":[{"sig":"MEYCIQDVNDC9e2RgT9zL1fawblwhqirLhRLBojTTUJP3wTsiCQIhAKqGMdemIAlprYUmx4qF+PaxX84n2rlQdor/HMPOPj1f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"4b775162a5edb5bf676db5d21651e2af2063980b","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.34.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.34.0_1786766957424_0.9633349177791883","host":"s3://npm-registry-packages-npm-production"}},"0.34.2":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.34.2","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.34.2","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"0d6df002c35e7887ba13c15d1a8dc3e33cccc5e6","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.34.2.tgz","fileCount":7,"integrity":"sha512-ohq4bUGv/uKRXsI0uVz3GolDE5ZCKhCbJo+tdQM3A4irSHzUvt3pustsxb6xK5pRzp3cpfHeMFZpU5tJYFbCVA==","signatures":[{"sig":"MEUCIC1/ohWhAXPq4XdaSDUl1T8SdJKNSAdujsunIHBP+mSwAiEAjWuslG3wESX2JFViOfDA75qLaPFBpVsO3eyEGKmvyaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"6024e206d84d9dc5313554d293d4d3595ffb4cef","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.34.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.34.2_1786771683283_0.7711229719918364","host":"s3://npm-registry-packages-npm-production"}},"0.34.3":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.34.3","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.34.3","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"94ea001da910727589ae2d72759d991b20e2dffe","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.34.3.tgz","fileCount":7,"integrity":"sha512-OVzu/XwCjJYHPC212+wE4Dy+wyeyP0mHNeawTI5BAwDDH5ejk4ca7mga3kn6Ku1fzQC5YCSk43zMsaibLFJesg==","signatures":[{"sig":"MEUCIQDJplj23CkiabvsPUU+Y4SjP4uP1q4z4r0V/R+a3BJsiAIgQP3sFTivwTIl4r1tDBCnquY/glDQAti8EH/CIQPxYbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"cc9d772e356270023e1e314c7d8939fe4d091f4b","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.34.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.34.3_1786776323112_0.296481400541156","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.35.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.35.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"889f3791a7b17675fa8a580dba53a193d5442d77","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.35.0.tgz","fileCount":7,"integrity":"sha512-WSyYXayIhnVhCP7Nd54ePjZaB+dwibVog0AmmAF0iU1To9TdSnvutn/vG/47OHad1dk9dTP9r2IM5TKAAWQSQQ==","signatures":[{"sig":"MEYCIQC9OXgIA3ap64rbeBDHW6QBLb6JARtlkzdHf6OJrgV60QIhAMjC1Itz+fhpX9gVvlbsy5tvqynW2BodCg2lGgiDRjCj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"e6355c8b5150b68f43d182ec8ac1c76b4bae44e0","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.35.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.35.0_1787083334574_0.28083882786790704","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.36.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.36.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"7dbe7848f6ac970f51b56129b25404881cfe3cbb","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.36.0.tgz","fileCount":7,"integrity":"sha512-FQ8B/oUxRNa+Bd295uoaP90/b7X3WAN6EdN60TaKIGXUK5ilyUe0myIJDABZkgSzGsl9kodrK+jjXhC23CHArg==","signatures":[{"sig":"MEUCIADyvSKi/PIRnvJ/M9bPTlmowMxl6CRUE2HNlr2Z34H0AiEAsnrSVx8Ic7/h8on1W8/q7rIkPhu1ChkPuTjQlKg16nI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"bc0ab139683fc133978de6cb10945ef4aa37c070","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.36.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.36.0_1787087038280_0.9713530730160631","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.37.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.37.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"3dd205c4a0fb952731ff8b2d5d0a2896959f3a01","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.37.0.tgz","fileCount":7,"integrity":"sha512-LZhIzYuyqlqmETTfB0VydG3oRVL6XoxB3CuLHSV+l4c4FSmm9Enhu5p1HjS6U8oXoWIzRUJVgrxILQHMPZIMgA==","signatures":[{"sig":"MEYCIQCuMPWtxStfJemTdM5627ukpSQMIF1VwE+8mNh8wG2K5QIhAOhXOveFYcBqxPy1d3aDzov4Ynk9EaHk0T4TOugZlxF0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"790535ea132e68a3174ebf755da586455ee1bf89","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.37.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.37.0_1787243179631_0.8590315652372424","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.38.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.38.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"e73f788d2bf00455ec9ffbc02bcfdc14748c2f26","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.38.0.tgz","fileCount":7,"integrity":"sha512-XZU7CH6IKBIDGwt2gStkxH1XQhQBnGm8z955rLc+LXYUhdAEGm7ZKRTTHDlfEnCTN1hjYVDX4ge/eQDlwaRp7A==","signatures":[{"sig":"MEUCIGB17tYRK0+g9qh0apZUvoR1kMLk6RTaV4H9n6wJHn9WAiEA7Yj3e+p8Wu5hoCMlcEN8qNHFOBw37ITb+D5oSuW8qbI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"02308fd9625274ada5d4d65b70ed2d204d4cbbaf","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.38.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.38.0_1787268151216_0.8041501092859649","host":"s3://npm-registry-packages-npm-production"}},"0.39.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.39.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.39.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"70a3b328543ec934d8eba7edfbc92fa0e0499010","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.39.0.tgz","fileCount":7,"integrity":"sha512-laHl3LJtvfbCWynhPLlEb5T02qC9e74J34UbxnUW+Rj0zPx1gJ861rKxdNLM9WwiwqmenPsh+UmyJi5e+PkJsg==","signatures":[{"sig":"MEUCICcqA0HioHd4Xw3dQoy5gAmek7CkVgP5wWDCFNDgJaTZAiEA2VrYqn8JkXom+JZ1p+3W3Ek7DXGcZgP9HSVxpQHYmUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"25f4fef8af0084275566346aaea52f64677b2b18","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.39.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.39.0_1787361938550_0.7082935561021295","host":"s3://npm-registry-packages-npm-production"}},"0.40.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.40.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.40.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"7a6e15a6e0ef6e638e54d46274e19161fc43dec5","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.40.0.tgz","fileCount":7,"integrity":"sha512-YNsNWafhU1JC4WMvnD6amKR+jVNuwLTHlOBZ55x9m2LVmqlJ33xj4EJJlVrpV2LZ8veFkc5W3ZQCldWbQKJKlA==","signatures":[{"sig":"MEQCICVhHYxJQg4A/j1OxMJuhspocbCWJOjuDP/fY8Y3U3AHAiARrDk4SymedL+ajMEA7qDIuVQ60d4GsnqTBCYceVxtnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"38c7a372d3e6be38536d11fd5fc0c569d1ed5c73","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.40.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.40.0_1787437267731_0.7767555788810785","host":"s3://npm-registry-packages-npm-production"}},"0.40.1":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.40.1","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.40.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"b689cfc2a07c3535fd18b24c2e08d4224f60f17e","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.40.1.tgz","fileCount":7,"integrity":"sha512-1T8dZtRo/22Pjuazm+U3rOeBjsF/uo+g47/nsnyZV709c4HAaGxCmNjg07p0KWsCqYJ0DoQ3ytZAF3qlOeJRfA==","signatures":[{"sig":"MEUCIHQPgj+G8pTpm5nX5LkoGiAAq91bDliJqvJduawiPXKbAiEAwfNhzYGlb1Y/aEI+nBRJHKSwrf32A7TGkdGFp2A47WU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"2f18781c5473803b1975527c3e8b268cbbfefc32","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.40.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.40.1_1787443384680_0.8644769367057619","host":"s3://npm-registry-packages-npm-production"}},"0.41.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.41.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.41.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"09f4fb5109ee7b869b90e44fc10be3404a9ba3b4","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.41.0.tgz","fileCount":7,"integrity":"sha512-Af2rzsc0q8yd1uKvAQhLKiTsluo3bTDx1c13BoCMJiy47t4JGMgoYHHHSqF8VNj42hzYDf3eMPtTCfAb+EcRIQ==","signatures":[{"sig":"MEQCIFZ433mguu9j1snIwvoMhVbcwR7VB2IcOAErPjjQ2jfXAiBqBY6W7j5VbatULosT8Rnrd/3GkfoGVwh2ItqTSNivAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"e6bb90c90e8eeb1246cef31e2f1d3fc88a643a52","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.41.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.41.0_1787603984309_0.099197634351603","host":"s3://npm-registry-packages-npm-production"}},"0.42.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.42.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.42.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"0ff44aa5f1c48cf3bf61bf01301d950bac31a463","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.42.0.tgz","fileCount":7,"integrity":"sha512-RphUZ3Gd6Y7gfHokhYQhcDoY0M6OyXDBSx7YubuwZ6Lba8KLi6lIYu9K3Z7gFWjgl8QToEzRRrlE1/g01ZekcQ==","signatures":[{"sig":"MEYCIQCfekgbAf4crINzllStGvRlA//iGanBb0KvGTP+qLImFAIhAIzSylrFMmXsRlpjZVaUg8HWtWxJPqIozqZnL/AZaJAr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"d3628cce447c21a912079fb06ec8b2bb4e42fd61","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.42.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.42.0_1787932400393_0.7511384420177922","host":"s3://npm-registry-packages-npm-production"}},"0.42.1":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.42.1","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.42.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"fcabdc8847ed2312290a41883b1c143a40750a5e","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.42.1.tgz","fileCount":7,"integrity":"sha512-ThYaDbTiOkFx9UuhODBrrk+85J3YxA88NHc/H03i1oLH+eU24MQCO5l+jWQa4z/rtcNUMgU3g6LcHAfsJeakYg==","signatures":[{"sig":"MEQCICWSf4OL9d+ZYeIW0uwTPnyD190FiTH4cwUrxS0Khay0AiBeuq9FEVDHuXZH9+h/92pAhx+wPn//2m9E01vba/3e5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"51cb36bd600655f6ee817ac605d2f5f6946abdc4","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.42.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.42.1_1787935108509_0.9129550375196982","host":"s3://npm-registry-packages-npm-production"}},"0.42.2":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.42.2","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.42.2","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"35fd5488fb86a88baac8a5566199102320e98ea3","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.42.2.tgz","fileCount":7,"integrity":"sha512-qACUp6tYyVG0azx3uzcFTlCNYITnttnfgv/u2YUtIboerCwG0oN5qibugCZcXaa7TYgPPA4l6jkD1iqXScCh3w==","signatures":[{"sig":"MEQCICFdnqvDAhKSnNXS3akq3qvuoGxaNwSrdUORbrT3Dtf/AiA3acT7OFoGiFuIlKIv9q2dw7WEMO8AG71gQo61SelRog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"fef4e010dbb8c78a09b41f2a5200a92b34752fca","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.42.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.42.2_1787936401365_0.43541887525546996","host":"s3://npm-registry-packages-npm-production"}},"0.43.0":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.43.0","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.43.0","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"67df69da3a0f6aa2bd9620f5067a9b4c6d9ad0d3","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.43.0.tgz","fileCount":7,"integrity":"sha512-4YqRHkIDZ9CRaPomEhtRUaaw22T4oecBOlgD3p3bZ1lBDNCwWGBqfqn/VaBBAzOphNu9ItlsCsYAflyDRh9RvA==","signatures":[{"sig":"MEUCIQC87mONaREI3jbPwmpdPGaQdXvJo2fs4SscJCK5JI06HAIgVlAfTPjPITFCWsQ/60/cO7Rx0R+vQ/gvdt7fmCPtfoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98761},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"72ddbf5ccee387767b6edcc0786e0fe7ad815a39","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.43.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.43.0_1788237061759_0.98144608851726","host":"s3://npm-registry-packages-npm-production"}},"0.47.1":{"name":"@web-ts-toolkit/express-oidc-vault-redis-store","version":"0.47.1","keywords":["express","oidc","redis","session-store"],"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.47.1","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"646b0f8957f604e34bd29378a3c66e7910512fbc","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.47.1.tgz","fileCount":7,"integrity":"sha512-JsPite3OcoWQigqrgeq9w41ZX/bCuKM512rvdOyyjUD87EjPdFA3JNTam/LGYxEC+Zmmvb0dUSsZpSa215z7xA==","signatures":[{"sig":"MEUCIBofBji6G1QXS6fhPg2bxS5BYaZAcDHhuSDyEptwMLWaAiEAyN+lQuZHZPSTo1YqBsdvEzj/9cVLKEPvfNivXZQaiZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCZzuQjh1e4ZzE05JoUUCDREhzUBhd8pB7Vy0SZmceNLAIgUHn9343VpIYgK+wOEcmSlDl0EII4EUpDNS0MlKWIAIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119450},"main":"./index.js","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=22"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"ee4d553b7b38f6ba17231fa0502d8e36beb31fdd","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.47.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/express-oidc-vault-redis-store_0.47.1_1790919766357_0.06569201109560563","host":"s3://npm-registry-packages-npm-production"}},"0.48.0":{"_id":"@web-ts-toolkit/express-oidc-vault-redis-store@0.48.0","bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"dist":{"shasum":"cbf0d77d00a7248c60b7a0c437a8d569a452860e","tarball":"https://registry.npmjs.org/@web-ts-toolkit/express-oidc-vault-redis-store/-/express-oidc-vault-redis-store-0.48.0.tgz","fileCount":7,"integrity":"sha512-0HUQIkmb26iXapGEO6xdz/jVkGML8wZ7Zmo5m/0UNa3k3/2dXUriBHPPN97gp+h6VKZvlBIpiWwsgBRc7AhUuQ==","signatures":[{"sig":"MEYCIQDX4vPBbH5KMjv0to0Qflhw+ABS3byxIvjuc5vjaaLsAAIhAK4B6W6zVmV4omyoXGDpV1W22mBjQYu+hA77aq3rcTH+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGCjxBNC1NAbPghg3RAbfFnNX796feqlE0ckJJCr19VaAiBPIrFzw3zR16MO1JyeBanqKCItxZejiE8jlblI3Lgang=="}],"unpackedSize":161152},"main":"./index.js","name":"@web-ts-toolkit/express-oidc-vault-redis-store","types":"./index.d.ts","author":{"name":"Junmin Ahn"},"module":"./index.mjs","engines":{"node":">=22.12.0"},"exports":{".":{"types":{"import":"./index.d.mts","default":"./index.d.ts","require":"./index.d.ts"},"import":"./index.mjs","default":"./index.js","require":"./index.js"}},"gitHead":"7e2ddc81ad7c059964b9432a8969f9e0696f7e54","license":"Apache-2.0","version":"0.48.0","_npmUser":{"name":"junminahn","email":"junminahn@outlook.com"},"homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","keywords":["express","oidc","redis","session-store"],"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"_npmVersion":"11.19.0","description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","directories":{},"maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"@web-ts-toolkit/express-oidc-vault":"0.48.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-oidc-vault-redis-store_0.48.0_1791134968168_0.8412876805682739"}}},"time":{"created":"2026-07-26T20:14:50.568Z","modified":"2026-10-04T17:29:28.527Z","0.28.0":"2026-07-26T20:14:50.819Z","0.29.0":"2026-07-29T01:33:54.880Z","0.30.0":"2026-07-29T06:06:52.965Z","0.31.0":"2026-07-29T17:50:04.807Z","0.31.1":"2026-07-30T06:45:33.026Z","0.31.2":"2026-07-30T20:04:00.553Z","0.31.3":"2026-07-30T21:12:50.373Z","0.31.4":"2026-07-30T22:15:32.392Z","0.31.5":"2026-07-30T22:29:25.679Z","0.32.0":"2026-08-01T19:21:52.179Z","0.33.0":"2026-08-14T20:07:44.448Z","0.34.0":"2026-08-15T04:09:17.570Z","0.34.2":"2026-08-15T05:28:03.428Z","0.34.3":"2026-08-15T06:45:23.309Z","0.35.0":"2026-08-18T20:02:14.727Z","0.36.0":"2026-08-18T21:03:58.434Z","0.37.0":"2026-08-20T16:26:19.790Z","0.38.0":"2026-08-20T23:22:31.363Z","0.39.0":"2026-08-22T01:25:38.694Z","0.40.0":"2026-08-22T22:21:07.870Z","0.40.1":"2026-08-23T00:03:04.840Z","0.41.0":"2026-08-24T20:39:44.443Z","0.42.0":"2026-08-28T15:53:20.532Z","0.42.1":"2026-08-28T16:38:28.634Z","0.42.2":"2026-08-28T17:00:01.511Z","0.43.0":"2026-09-01T04:31:01.902Z","0.47.1":"2026-10-02T05:42:46.464Z","0.48.0":"2026-10-04T17:29:28.255Z"},"bugs":{"url":"https://github.com/egose/web-ts-toolkit/issues"},"author":{"name":"Junmin Ahn"},"license":"Apache-2.0","homepage":"https://web-ts-toolkit.pages.dev/docs/packages/express-oidc-vault-redis-store","keywords":["express","oidc","redis","session-store"],"repository":{"url":"git+https://github.com/egose/web-ts-toolkit.git","type":"git","directory":"packages/express-oidc-vault-redis-store"},"description":"Redis store provider for @web-ts-toolkit/express-oidc-vault","maintainers":[{"name":"junminahn","email":"junminahn@outlook.com"}],"readme":"# `@web-ts-toolkit/express-oidc-vault-redis-store`\n\nRedis-backed store provider for `@web-ts-toolkit/express-oidc-vault`.\n\n## Installation\n\nThe `redis` package is referenced by the quick start below, but this package\ntreats it as a development-only dependency: the package does not import `redis`\nat runtime and accepts any client that implements the `OidcVaultRedisClient`\ncontract. Install `redis` (or your adapter of choice) in your app.\n\n```sh\npnpm add @web-ts-toolkit/express-oidc-vault @web-ts-toolkit/express-oidc-vault-redis-store express redis\n```\n\n## Quick Start\n\n```ts\nimport { createClient } from 'redis';\nimport { createRedisOidcVaultStore } from '@web-ts-toolkit/express-oidc-vault-redis-store';\n\nconst redis = createClient({ url: process.env.REDIS_URL });\nredis.on('error', () => console.warn('OIDC vault Redis connection error.'));\nawait redis.connect();\n\nconst storeProvider = createRedisOidcVaultStore({\n  client: redis,\n  keyPrefix: 'oidc-vault',\n});\n```\n\n## Express Wiring Example\n\n```ts\nimport express from 'express';\nimport { createClient } from 'redis';\nimport { createOidcVaultMiddleware } from '@web-ts-toolkit/express-oidc-vault';\nimport { createRedisOidcVaultStore } from '@web-ts-toolkit/express-oidc-vault-redis-store';\n\nconst app = express();\nconst redis = createClient({ url: process.env.REDIS_URL });\nredis.on('error', () => console.warn('OIDC vault Redis connection error.'));\n\nawait redis.connect();\n\napp.use(\n  createOidcVaultMiddleware({\n    basePath: '/auth/oidc',\n    backendOrigin: 'https://api.example.com',\n    config: {\n      issuer: process.env.OIDC_ISSUER,\n      clientId: process.env.OIDC_CLIENT_ID,\n      clientSecret: process.env.OIDC_CLIENT_SECRET,\n    },\n    frontendRedirectUri: 'https://frontend.example.com/callback',\n    postLogoutRedirectUri: 'https://frontend.example.com/logged-out',\n    storeProvider: createRedisOidcVaultStore({\n      client: redis,\n      keyPrefix: 'oidc-vault',\n    }),\n  }),\n);\n```\n\n## Notes\n\n- use Redis in production when you need shared session state across multiple app instances\n- supported Redis topologies are standalone Redis through the official `redis` client, and Redis Sentinel through the underlying master client retrieved from a `createSentinel(...)` client (see _Redis Version And Topology_); Redis Cluster is not supported\n- Redis Cluster clients are rejected when the store is created because the package does not currently route multi-key vault scripts through a hash-slot adapter\n- the provider stores JSON payloads under prefixed keys for sessions, auth transactions, and one-time exchange codes\n- one-time records are consumed atomically through Redis commands instead of `get` plus `del`\n- session rotation and session indexes are updated atomically so concurrent refreshes do not fork multiple active sessions\n- rotation requires a distinct unused target session ID; missing-source, same-ID, and existing-target rotation conflicts throw `OidcVaultStoreConflictError` without changing source or target records\n- obsolete rotated session IDs are stored as aliases owned by the logical session; scoped/direct deletion preserves unexpired aliases while another live member survives, including another issuer/client scope. Deleting through an obsolete ID still revokes its logical lineage\n- alias cleanup runs inside the delete script alongside the primary mutation. It checks keyed primary membership with Redis TTL authority before removing terminated-lineage aliases; empty logical logout uses the same liveness rule in an atomic cleanup script. Rotation cannot interleave between that check and alias removal. The overall indexed traversal is not a global logout snapshot, so later arrivals can survive\n- **Alias-cleanup compatibility:** scoped/direct logout no longer discards surviving lineage handles. Successful delete scripts no longer repeat application-side alias cleanup. A fixed warmed workload of 12 rotated lineages deleted by subject used 52 client commands before and 16 after on both Redis 6.2 and 7.2 (36 fewer sequential round trips); this measures command count, not latency. Lua still materializes whole logical-member sets, probes primaries until finding a survivor, and materializes/deletes all aliases when inactive; large lineages/alias sets remain scale-dependent server work\n- creating or rotating into a previously obsolete session ID removes that stale alias ownership first, so a reused ID cannot invoke an old logical-session meaning\n- `createAuthorizationTransaction` and `createExchangeCode` are upserts; `createSession` is create-only and duplicate session IDs throw `OidcVaultStoreConflictError` without changing the existing record or indexes. Portable callers must create sessions with a fresh unused ID and handle `OidcVaultStoreConflictError`: reusing a live ID rejects here but replaces on memory/MongoDB, so only fresh-ID creation is portable\n- portable data consists of strings, finite numbers, booleans, null, arrays, and plain objects; exclude cycles, custom prototypes/serializers, functions, symbols, and undefined properties. This applies to nested provider/user/metadata data, not only top-level metadata\n- portable plain-object/array inputs are captured before asynchronous work, including rotation source reads and scoped deletion scans. Returned session containers are independent from caller input, including nested provider/user/metadata arrays; later caller mutation cannot change the committed portable value or eventual result\n- compatibility: session ownership snapshots do not add a JSON round-trip. The existing JSON serializer still handles native values and `toJSON` hooks (and still rejects unsupported values such as BigInt/cycles). Opaque non-plain objects are not recursively copied and have no portable mutation-isolation guarantee; create/rotate results retain their native values while reads reflect persisted JSON\n- backchannel logout token JTI records are consumed only when `expiresAt` is finite and greater than the store clock at consume time\n- the optional `now` hook controls store-domain timestamps and testable JTI validation only; Redis server time is the authority for Redis key expiry and revocation-index cleanup\n- the client must implement `sendCommand(args)`; official standalone `redis` clients already do, and a Sentinel-wrapped master client or any adapter implementing `OidcVaultRedisClient` does too\n\n## Rotation Aliases And Lifetime\n\nRotation preserves the source logical ID when the next session omits it. Each old ID becomes a revocation alias for its immediate successor's logical ID and `expiresAt`. With `A -> B (expiresAt=T1) -> C (expiresAt=T2)`, A stops working at T1 even if T2 is later or absent; B uses C's deadline. Later rotations never extend earlier aliases. `getSession(A)` returns `null`: an alias is never a readable/authentication session.\n\nWith `A/L1 -> B/L1 -> C/L2`, the new B alias revokes L2; earlier A keeps L1 and its original deadline, never C. Redis does not eagerly retire L1 aliases merely because rotation moves its last member elsewhere (memory does); they can remain until expiry or explicit lineage cleanup. Use distinct logical IDs for unrelated login families rather than relying on retained handles disappearing on reuse.\n\nWithout successor `expiresAt`, Redis and memory impose no alias time limit; MongoDB uses a finite fallback (default five minutes). Non-expiring Redis sessions and their aliases can grow without a fixed retention or size bound. Use explicit session lifetimes for portable finite windows. After an alias expires, use the live ID or the appropriate logical/subject/provider-session deletion method; core refresh preserves session expiry.\n\n## Deletion, Counts And Concurrent Arrivals\n\nDeleting a live public ID removes that record; deleting an unexpired alias revokes its logical lineage. Logical deletion and aliases have no issuer/client filter. Subject/provider-session object inputs match each supplied `issuer` and `clientId`; string inputs omit both filters and match across providers. A retained member in another scope keeps its unexpired aliases.\n\nBulk deletion makes one cursor traversal, rechecks scope in each atomic delete script, and can follow a rotated-away source to matching same-lineage successors. Counts sum primary sessions actually deleted by those scripts, including such successors; expired/missing records, stale membership repair and alias cleanup do not contribute. Duplicate cursor visits or overlapping revocations do not double-count an already deleted primary. A concurrent arrival may survive, and `0` is not proof that the scope is empty. An error can follow earlier committed deletions; the complete traversal is not one transaction. MongoDB instead repeats scoped deletion until an empty query and can count expired documents awaiting TTL cleanup; memory counts live deletions during a synchronous map scan. Vault deletion does not revoke outstanding stateless access tokens or call upstream logout.\n\n## Redis Version And Topology\n\n- **Supported minimum Redis version: 6.2.** Versions 6.2 and 7.2 are exercised in integration tests. One-time consumption now uses guarded cached Lua, including legacy consumes, so old calls cannot spend guarded records.\n- **Standalone Redis**: supported through the official `redis` `createClient(...)` client (`RedisClientType`). This is the tested topological default.\n- **Redis Sentinel**: use an underlying master client retrieved from `redis.createSentinel(...)` (e.g. acquire/use patterns documented by that driver) or an adapter conforming to `OidcVaultRedisClient`. The bare Sentinel root has `sendCommand(isReadonly, args, options?)`, not this store's `sendCommand(args)`. Caller/adapter owns master acquisition, reconnect/failover and release. Automated provider tests exercise standalone 6.2/7.2, not Sentinel failover; replication/persistence guarantees are deployment-owned, and losing unexpired replay reservations during failover weakens replay protection until their window expires.\n- **Redis Cluster**: **not supported.** Cluster-shaped official clients are rejected when the store is created. The package's atomic vault scripts touch several keys without a hash-slot routing adapter, so Cluster routing could send parts of one logical operation to different nodes. Add a Cluster routing/hash-slot adapter before enabling it.\n\n## Client Lifecycle And Ownership\n\n- **Connect the client yourself.** The store never calls `client.connect()`, `client.quit()`, or `client.disconnect()`. Pass an already-connected client and reuse it across requests.\n- **Own `error` listeners, reconnects, and shutdown.** The store reads and writes commands but does not attach `error` listeners, suppress client errors, or close the client. Always register a client `error` listener on production connections; an unhandled client error can crash the process.\n- **Graceful shutdown.** Draining `createSession`/`rotateSession`/`deleteSessionsBy*` in-flight calls, then `client.quit()`, is the supported shutdown order. The store holds no background timers, so no store-side teardown is required beyond verifying in-flight operations have settled.\n- **Startup and concurrency.** There is no store `ready()` handshake: connect before accepting traffic, and provision permission to execute the documented commands and cached Lua scripts. Server-side scripts protect individual mutations from interleaving; indexed traversal and post-commit maintenance span multiple commands. They do not have a fixed total-work or completion-time bound.\n\n## Key Namespace And Migration\n\n- All vault keys are written as `<keyPrefix>:<kind>:<id>` and default to the `oidc-vault` prefix. Use `keyPrefix` when the same Redis instance stores data for multiple apps, environments, or tenants.\n- **Changing the prefix is not a migration.** Switching `keyPrefix` starts an independent empty namespace: existing sessions, indexes, aliases, exchange codes, and authorization transactions remain under the previous prefix and are neither revoked nor cleaned up by the new store. Rotate the prefix only when you are prepared to lose access to, or coordinate decommissioning of, the previous namespace.\n- New sessions created under the new prefix will not collide with the old namespace, even when ranges of session IDs overlap — keys are fully namespaced and the cleanup scan only walks the configured prefix.\n\n## Stored Data Characteristics\n\n- This package stores refresh tokens, ID tokens, access tokens (when present), and session metadata as **plaintext JSON** in Redis values. It does not encrypt the values, redact them on read, or strip token fields before returning them.\n- Audit-trail and long-term persistence safety depends entirely on your Redis deployment: AOF/RDB snapshots, replicas, backups, and slow-query logs may all retain these plaintext values. Treat the Redis instance, its backups, and any persistence or replication as trusted infrastructure with the same access control you apply to your application database.\n- ACLs, TLS, network isolation, and Redis instance boundaries are the responsibility of the operator. Run the Redis instance on a private network, enable TLS for any cross-network hop, and apply the principle of least privilege with ACL rules that limit clients to the keyspace consumed by `keyPrefix`.\n- The package holds no cross-version schema migration guarantee. Treat the package version as the schema owner unless a future release documents a migration path.\n\n## Expiry And Index Cleanup\n\n- expiring session records are stored with Redis `PXAT`, and revocation index scores use the same absolute expiration timestamp\n- authorization transactions and exchange codes also use `PXAT`. Legacy consumes and `getSession` preserve the key-TTL policy (no application-clock expiry check); legacy consumption uses one cached Lua call. The new transaction/code preflight getters compare payload expiry with Redis `TIME` (normally `GET` + `TIME`); guarded consumes compare payload expiry inside Lua with server time. They reject expired payloads even after externally altered TTLs\n- **TTL integrity assumption:** preserve the store-written key TTLs and matching index scores when restoring or migrating data. Externally removing/extending a TTL can still expose past-dated payloads through legacy consumes or `getSession`; changing only a session TTL can leave it live after index pruning. New guarded operations additionally enforce payload expiry, but do not repair external index/TTL inconsistencies. Shortening a key TTL makes a record unavailable immediately even when payload expiry is later\n- stale revocation memberships are pruned with Redis `TIME`, not the application clock, so a skewed application clock cannot remove a still-live Redis session from subject, provider-session, or logical-session indexes\n- indexed revocation also checks the primary session key before deleting or returning a session; expired primary values are not returned and missing primary values remove the stale membership encountered during traversal\n- indexed revocation uses `ZSCAN COUNT 250` and one `MGET` for the IDs returned in each batch. `COUNT` is a hint, not a hard batch cap (compact sorted sets can return all members); the batch is not further chunked. Response memory and repair concurrency can grow with the returned batch, while deletion scripts run sequentially\n- each successful session create or rotation attempts one `SCAN MATCH <prefix>:* COUNT 100` step, then `TYPE` and, for each recognized sorted-set index, `TIME`/`ZREMRANGEBYSCORE`. **COUNT 100 is a hint, not “up to 100 keys”**: Redis may return more or fewer keys, and the store processes the whole response. Cleanup includes subject, provider-session, logical-session and rotated-alias indexes. Redis removes empty sorted sets; continued successful writes advance the scan even without a logout for that logical session\n- post-commit index maintenance is best-effort and never masquerades as a failed write: once the atomic create/rotate script commits, `createSession`/`rotateSession` resolve with the committed session even if the follow-up `SCAN`/`TYPE`/`TIME`/`ZREMRANGEBYSCORE` maintenance fails. The failure is reported once via a fixed-text `console.warn` identifying only `createSession` or `rotateSession`; adapter error names, messages, codes, causes, and arbitrary thrown values are never inspected or logged. The incremental scan retries on a later create/rotate. Mutation-script failures still reject, and a successful rotation is never retried merely because maintenance failed\n- **Diagnostic compatibility note:** post-commit maintenance warnings no longer include a `Cause:` suffix or adapter error details, which may contain credentials. Log consumers should use the operation name and fixed maintenance-failure text\n- aliases use their immediate successor's expiry score; malformed stale aliases are deleted when their session ID is reused. Alias/index cleanup can materialize a whole logical-member or alias set inside Lua; neither cursor COUNT value bounds that server work\n- there is no fixed stale-index cleanup deadline or memory cap. Expired entries can remain while writes stop or maintenance fails; non-expiring entries and aliases remain until explicitly revoked/cleaned. The incremental scan is opportunistic, not a retention SLA\n\n## Stored Data Validation And Corruption Handling\n\n- stored records are JSON payloads validated structurally on read, with session `sessionId`, authorization transaction `state`, and exchange-code `code` required to match the requested key (including each indexed batch member); see _Stored Data Characteristics_ for the schema-migration and plaintext-storage posture\n- malformed one-time authorization transaction and exchange-code records are consumed atomically and return `null`, preventing reuse while failing closed\n- malformed session records are treated as unreadable, deleted when encountered through session reads or indexed revocation, and never returned as authenticated state\n- corruption repair deletes only the observed malformed payload through an atomic server-side compare-and-delete: a fresh same-ID record created after the stale read (session ID reuse is supported) is never destroyed by the repair, and the missing-session logout path applies the same guard instead of an unconditional delete\n- **Identity-validation compatibility note:** shape-valid records stored under the wrong identity follow the malformed-record policy and return `null`. Session repair targets only the observed lookup key, never the embedded session ID; indexed membership repair retains the same generation guard. One-time corruption is removed inside the same atomic consume script, with no follow-up delete that could remove a replacement\n- a stale repair observing corruption therefore preserves a concurrent replacement, while genuine logout of a live session (direct delete or scoped logical/subject/provider-session revocation) still deletes it; indexed revocation removes stale corrupt members and continues processing later valid sessions\n- Redis mutation scripts preflight expected key types before writing so wrong-type keys fail without deterministic partial mutation\n- package-generated validation and deterministic script diagnostics use fixed text without stored records. Arbitrary client/adapter failures can still reject operations with sensitive original errors; they are not generally sanitized for application logs. Use fixed operation names and allowlisted categories, not raw errors, connection URLs, session IDs, state/PKCE values, exchange codes or token-valued metric labels. The secret-independent post-commit warning policy above applies specifically to that warning path\n\n## Main Exports\n\nUse named imports from the package root; there is no default export or public subpath API. Use Node.js `>=22.12.0` for the core dependency's CJS/ESM runtime support. TypeScript apps also need `@types/node` and `@types/express`. Both ESM (`import`, `index.d.mts`) and CJS (`require`, `index.d.ts`) declaration conditions are shipped; consumer imports always use the package name.\n\n- `createRedisOidcVaultStore(...)`\n- `OidcVaultRedisStoreRecordError`\n- `type RedisOidcVaultStoreOptions`\n- `type OidcVaultRedisClient`\n\n## Device-Binding Store Capabilities\n\nThe factory returns core `OidcVaultDeviceBindingStoreProvider`, with detached live `getAuthorizationTransaction(state)` and `getExchangeCode(code)`, atomic `consumeAuthorizationTransactionIfMatches({ state, match })` and `consumeExchangeCodeIfMatches({ code, expectedSessionId, match })`, token-free `getSessionRevocationContext(sessionId)`, and `reserveDpopProof({ replayKey, expiresAt })`.\n\nImport the stronger provider, match/consume/replay/revocation types and `OidcVaultDpopReplayCapacityError` from the **core package root**; the Redis package exports its factory/options/client and record error only. Either vault opt-in feature requires all six capabilities, while fingerprint-only flows do not reserve proofs. Use the same shared provider as API replayStore; the core shipped README includes complete DPoP issuer/API/browser usage.\n\n`match` requires both `deviceBinding` and `browserBindingHash`. Non-null values match exactly; **null requires stored absence**, never BSON/JSON null or “ignore”. Legacy records omit both; guarded unbound records have a cookie hash; bound records have that hash plus `{ type: 'dpop', jkt }`. Hashes are canonical 43-character SHA-256 base64url. Null/malformed/extra binding fields and key-without-hash records are invalid; writes reject and corrupted data returns no credentials. No JWK, proof algorithm, or historical mode is stored.\n\nPreflight getters are not locks. The consume script performs shape/identity/expiry, both matches, exchange-session match and deletion atomically; mismatch returns `null` without spending a live record. Matching races have one winner across independent Redis clients. **Legacy consumes now also use this script** and refuse guarded records, including cookie-only records, without spending them. There is no application-side get/unconditional-delete bypass. Malformed read cleanup retains the existing compare-and-delete generation guard.\n\nRotation inherits omitted binding, accepts the same key, and rejects null/malformed, changed, or newly added binding before mutation. Lua also rechecks source identity, credential generation and binding against the preflight source so same-ID replacement cannot make a new lineage inherit an old key or lose index ownership. Target-ID, alias, deletion and post-commit maintenance policies remain as documented above.\n\n`getSessionRevocationContext` resolves a live handle or unexpired alias and all live members of its current lineage inside one Lua snapshot. A directly observed live handle always participates even if its reverse-index membership is missing, so peers cannot make that bound handle appear unbound. It returns only `logicalSessionId`, allowlisted `provider.issuer/clientId`, and optional original `deviceBinding`; no tokens/profile/metadata/arbitrary provider fields leave Redis. Alias payloads still contain only their logical ID: absence of an alias binding never means an unbound lineage. Malformed/inconsistent binding/provider authority throws a fixed diagnostic. Expired aliases/empty lineages return `null`, and `getSession(alias)` remains `null`. This call materializes the whole logical-member set and reads member primaries inside Lua; large lineages remain scale-dependent server work.\n\n## Per-Request DPoP Replay And Capacity\n\n| Redis option           | Default      | Contract                                                                |\n| ---------------------- | ------------ | ----------------------------------------------------------------------- |\n| `client`               | required     | Connected standalone-shaped client/adapter; caller owns lifecycle       |\n| `keyPrefix`            | `oidc-vault` | Shared vault/replay namespace; changing it is not migration             |\n| `dpopReplayMaxEntries` | `100000`     | Positive safe integer, identical on clients sharing the prefix          |\n| `now`                  | `Date.now`   | Store timestamps/backchannel preflight only; replay/TTL use server TIME |\n\n```ts\nconst storeProvider = createRedisOidcVaultStore({\n  client: redis,\n  keyPrefix: 'oidc-vault',\n  dpopReplayMaxEntries: 100_000,\n});\n```\n\n`dpopReplayMaxEntries` is a positive safe integer (default **100000**), shared per key prefix across clients. Every client sharing that prefix must configure the same limit. The opaque proof keys are members of **`<keyPrefix>:dpop-proofs`**, a sorted set whose scores are absolute expiry milliseconds. This set is both replay state and capacity/expiry accounting; there is no separate counter that can leak after individual key TTLs.\n\n`reserveDpopProof` is normally **one cached `EVALSHA` round trip per proof**. Server `TIME` inside Lua owns the validity window; the optional application `now` hook cannot admit a stale proof or prune live reservations. A safe-integer future expiry is required, with remaining TTL **<=360000 ms**. Invalid/nonfinite/unsafe/fractional/expired (`<= server now`) or overlong input returns `false` without allocation. Duplicate-first `ZSCORE` rejects without extending expiry, even at capacity. Lua reclaims at most **64** expired members with `ZRANGEBYSCORE ... LIMIT 0 64`, plus the requested expired key, then atomically checks `ZCARD` and admits with `ZADD`. No session/alias scan, unbounded `ZREMRANGEBYSCORE`, or live-entry eviction occurs on replay admission.\n\nThe replay set expires at its latest retained score (`PEXPIREAT`), reclaiming it if traffic stops; this deadline never extends a member's replay window. Expired members awaiting bounded cleanup may conservatively occupy capacity. New keys at capacity throw root `OidcVaultDpopReplayCapacityError` from `@web-ts-toolkit/express-oidc-vault`, with no live eviction or acceptance without replay state. Wrong-type/client failures reject. `NOSCRIPT` recovery loads and retries once, adding two round trips to the normal call; the existing runner never retries an arbitrary committed mutation on transport failure.\n\nProvision ACLs for cached scripts and their internal commands, including `TIME`, `TYPE`, `GET`, `DEL`, `ZSCORE`, `ZRANGEBYSCORE`, `ZREM`, `ZCARD`, `ZADD`, `ZREVRANGE` and `PEXPIREAT`. DPoP is a **per-request write**, unlike lower-volume backchannel JTIs (`SET NX PXAT`). Size capacity for unique proofs/second × validity window plus headroom (approved defaults: at most 70 seconds). Share identical namespaces/windows and synchronized clocks across instances; never release reservations after downstream failure, and retries need a fresh proof. Capacity/provider errors must map through orchestration to sanitized replay-unavailable and fail closed. Redis failover durability remains deployment-owned; these command/work bounds are not throughput/latency guarantees.\n","readmeFilename":"README.md"}