{"_id":"@aaroncadillac/oidc-reverse-proxy","_rev":"11-5159affa34574bb2a7cd904e7a1364f2","name":"@aaroncadillac/oidc-reverse-proxy","dist-tags":{"latest":"2.1.0"},"versions":{"1.1.0":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"1.1.0","author":{"name":"aaroncadillac"},"license":"MPL-2.0","_id":"@aaroncadillac/oidc-reverse-proxy@1.1.0","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"bin":{"oidc-reverse-proxy":"server.js"},"dist":{"shasum":"4d2df7e48fbd2e2509bfcc7b0b2bcf53eb7c1d9c","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-1.1.0.tgz","fileCount":7,"integrity":"sha512-uAFagH1bhore8J7xZADRSUodfh3monP1AySG4OdkBrD5U2niztXPMgMcUZEeh6zqoL+wZ/QrphIf2XGEHgd1Og==","signatures":[{"sig":"MEUCIQDgVzbPiCB5yZqTbW0XOVHOZl9mFW+gzRjEbPq5bOY11wIgUG5B4BK8DrGkvgf142Y8H//78GpGfyzZVzp3lwVi6NY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10556},"main":"server.js","type":"module","gitHead":"a45a5863460e48ea4c10d37093f7c753c2c996d6","private":false,"scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"_npmUser":{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"},"repository":{"url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple reverse proxy to protect paths with OIDC based on fastify","directories":{},"_nodeVersion":"20.19.2","dependencies":{"sade":"^1.8.1","fastify":"^5.3.3","openid-client":"^6.5.1","@fastify/cookie":"^11.0.2","@fastify/session":"^11.1.0","@fastify/http-proxy":"^11.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/oidc-reverse-proxy_1.1.0_1749617321998_0.9912237477602857","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"1.1.1","author":{"name":"aaroncadillac"},"license":"MPL-2.0","_id":"@aaroncadillac/oidc-reverse-proxy@1.1.1","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"bin":{"oidc-rproxy":"server.js"},"dist":{"shasum":"e18ca2e2480ededa6b305804c8f72c27364f8fbe","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-1.1.1.tgz","fileCount":7,"integrity":"sha512-74eEQ5hA+cLB7ATaz44NPpRn230JOdqiXfHWicGVibK7R9dAzWmFsZmk8L1f5LbFyKT8f1zedd9DEsioz+8GRg==","signatures":[{"sig":"MEUCIHutUAf9b4gu2CnV62w03OlJtWLWSssqPfBof6xvsQCoAiEAqAECR8MXD4hmTCiQ9x7eQ6iJxVNiAdymV9Lz155XuvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10581},"main":"server.js","type":"module","gitHead":"8adac1ec3bf6d327fc0cb522659980c282507dfe","private":false,"scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"_npmUser":{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"},"repository":{"url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple reverse proxy to protect paths with OIDC based on fastify","directories":{},"_nodeVersion":"20.19.2","dependencies":{"sade":"^1.8.1","fastify":"^5.3.3","openid-client":"^6.5.1","@fastify/cookie":"^11.0.2","@fastify/session":"^11.1.0","@fastify/http-proxy":"^11.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/oidc-reverse-proxy_1.1.1_1749617645001_0.32868894263764536","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"1.1.2","author":{"name":"aaroncadillac"},"license":"MPL-2.0","_id":"@aaroncadillac/oidc-reverse-proxy@1.1.2","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"bin":{"oidc-rproxy":"server.js"},"dist":{"shasum":"d9a6935b9eb152012fee6c7748ca2ac44914b20a","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-1.1.2.tgz","fileCount":7,"integrity":"sha512-6Z3XXUPAT/BswBWwwjypau9HF4GJICI6W/xtxoSZRyP1GATu1CNGcvbxPFlYpMmrrFyKTj1jeu3bZxUdPaY4eA==","signatures":[{"sig":"MEQCICcB0v2M3XwHA4/4gpzzyddrjkouO6CprJCnUHbAUNocAiBhHh1wLkxbiV8eFv3ex5N7s2X7IIUuHOPbuV9gXDok8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10604},"main":"server.js","type":"module","gitHead":"4e7957ad671f4f0447c606884a7f47215ce7793c","private":false,"scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"_npmUser":{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"},"repository":{"url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple reverse proxy to protect paths with OIDC based on fastify","directories":{},"_nodeVersion":"20.19.2","dependencies":{"sade":"^1.8.1","fastify":"^5.3.3","openid-client":"^6.5.1","@fastify/cookie":"^11.0.2","@fastify/session":"^11.1.0","@fastify/http-proxy":"^11.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/oidc-reverse-proxy_1.1.2_1749619489432_0.005216441127333882","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"1.2.0","author":{"name":"aaroncadillac"},"license":"MPL-2.0","_id":"@aaroncadillac/oidc-reverse-proxy@1.2.0","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"bin":{"oidc-rproxy":"server.js"},"dist":{"shasum":"8c63413277413908e49fbd7b649f370a1a45fff2","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-1.2.0.tgz","fileCount":7,"integrity":"sha512-w3hdfyHfCFvVgsy4acn6Fanm5MSC9RnvMl23ZW1qpHokp780Noo/DpdCsW41en2xd6YsVXWV4nBX49K2uuADNw==","signatures":[{"sig":"MEQCIATigfZgnzG4mrG+i/rz2Ilh0Ws6HQWWkPTk2jT8k8bUAiBFvtPso4uDYKHxxHGp8fcoqa0Nal2RZ74LowN21uNBTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11084},"main":"server.js","type":"module","gitHead":"3955ed3558ddd15cee8f0c3000c9ee7c34777948","private":false,"scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"_npmUser":{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"},"repository":{"url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple reverse proxy to protect paths with OIDC based on fastify","directories":{},"_nodeVersion":"20.19.2","dependencies":{"sade":"^1.8.1","fastify":"^5.3.3","openid-client":"^6.5.1","@fastify/cookie":"^11.0.2","@fastify/session":"^11.1.0","@fastify/http-proxy":"^11.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/oidc-reverse-proxy_1.2.0_1749632872692_0.5747296220438467","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"1.3.0","author":{"name":"aaroncadillac"},"license":"MPL-2.0","_id":"@aaroncadillac/oidc-reverse-proxy@1.3.0","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"bin":{"oidc-rproxy":"server.js"},"dist":{"shasum":"b842c64d9a95029aa189b56c01ba61717dcd1616","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-1.3.0.tgz","fileCount":7,"integrity":"sha512-8/rqPyzSizdJQooiGBMQmteUF+6uuxB7ksIQdO5fBtTY1+KO0k5dhQqHFbL/bzv4LMBXphyjihDa8/o4OpfrDg==","signatures":[{"sig":"MEUCIQCxomuWHyFPDmlAP4Z7Agw8o/l3lFZxQnpi4B4vLIm7bgIgIKom6jhLiLtOblmROc3OYJgXya+fDkwu2MxFxqx6AcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11489},"main":"server.js","type":"module","gitHead":"9bf340c1223f0222fd6a512ee228074a483f22fc","private":false,"scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"_npmUser":{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"},"repository":{"url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple reverse proxy to protect paths with OIDC based on fastify","directories":{},"_nodeVersion":"20.19.2","dependencies":{"sade":"^1.8.1","fastify":"^5.3.3","openid-client":"^6.5.1","@fastify/cookie":"^11.0.2","@fastify/session":"^11.1.0","@fastify/http-proxy":"^11.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/oidc-reverse-proxy_1.3.0_1749671822089_0.8106203700059047","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"1.3.1","author":{"name":"aaroncadillac"},"license":"MPL-2.0","_id":"@aaroncadillac/oidc-reverse-proxy@1.3.1","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"bin":{"oidc-rproxy":"server.js"},"dist":{"shasum":"c0ad0037c7773f7da9502e693c748376ae27fa4d","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-1.3.1.tgz","fileCount":7,"integrity":"sha512-29b9vOVucfncHZeLIAQJcIUXWvdUYI16iVBFpzi+d9P/UpMo1WPbGHV7iivjKQhD5cazqzn16qpft1JYh0mwkA==","signatures":[{"sig":"MEUCIHZGMy5+F2B4gGHVrgDyFClWBTOLD3SLCTVpdqkdau/rAiEA2Ij7Zzf+A2yKlKQ8l3TrzovFUW4V8sHOIPiF03OjEVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11642},"main":"server.js","type":"module","gitHead":"a54a5d9e97687f0fb50293d5212d0791bd733a8e","private":false,"scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"_npmUser":{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"},"repository":{"url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple reverse proxy to protect paths with OIDC based on fastify","directories":{},"_nodeVersion":"20.19.2","dependencies":{"sade":"^1.8.1","fastify":"^5.3.3","openid-client":"^6.5.1","@fastify/cookie":"^11.0.2","@fastify/session":"^11.1.0","@fastify/http-proxy":"^11.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/oidc-reverse-proxy_1.3.1_1749680664743_0.24979589178566441","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"1.4.0","author":{"name":"aaroncadillac"},"license":"MPL-2.0","_id":"@aaroncadillac/oidc-reverse-proxy@1.4.0","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"bin":{"oidc-rproxy":"server.js"},"dist":{"shasum":"e8eb12cfed4e67763f5912db3a1f9801d32a3140","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-1.4.0.tgz","fileCount":7,"integrity":"sha512-S97ESd3OWONHyq92Q6giF67EHNhFt56YpZMRS+oOgVfgBEdlvYVmyzPHHskrmOxedY6QndYwnn6Ovd+RVSAA6A==","signatures":[{"sig":"MEUCIQD9rErPU+ebuqg0IAZWKjNWcpvBrJfKeuMlR3OQqPmVfQIgZphQ+2/utQi+eMX8Hd1U8mJNKCUTgwZBZRjxcZVvkxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11502},"main":"server.js","type":"module","gitHead":"99a93d859ad0154054c7221b27aba4fba30a092f","private":false,"scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"_npmUser":{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"},"repository":{"url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple reverse proxy to protect paths with OIDC based on fastify","directories":{},"_nodeVersion":"20.19.2","dependencies":{"sade":"^1.8.1","fastify":"^5.3.3","openid-client":"^6.5.1","@fastify/cookie":"^11.0.2","@fastify/session":"^11.1.0","@fastify/http-proxy":"^11.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/oidc-reverse-proxy_1.4.0_1749683743704_0.0027274456189363416","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"1.5.0","keywords":["fastify","oidc","reverse","proxy","auth","openid"],"author":{"name":"aaroncadillac"},"license":"MPL-2.0","_id":"@aaroncadillac/oidc-reverse-proxy@1.5.0","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"bin":{"oidc-rproxy":"server.js"},"dist":{"shasum":"cca0c9712d0651abe65f69d0d5931cac9f242335","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-1.5.0.tgz","fileCount":7,"integrity":"sha512-xaLihSWlgdmry1Lnd4nOczAn48SppKtAoNhx+Ol5I2dJT/9EyJAYCmIaL+7zpAN1AcmbpzS+WnlHBWANBT76tA==","signatures":[{"sig":"MEUCICg99AFZQJxqsw27qH+apmJjpzPoN1obdv1I0OkOpIozAiEA0Q6xnVL4pgb41gKZS2IR7ct+GtjDJoCaWy2NWL/Zahs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11603},"main":"server.js","type":"module","gitHead":"2f480831a38c5f604729a4115e64249633bbf565","private":false,"scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"_npmUser":{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"},"repository":{"url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple reverse proxy to protect paths with OIDC based on fastify","directories":{},"_nodeVersion":"20.19.2","dependencies":{"sade":"^1.8.1","fastify":"^5.3.3","openid-client":"^6.5.1","@fastify/cookie":"^11.0.2","@fastify/session":"^11.1.0","@fastify/http-proxy":"^11.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/oidc-reverse-proxy_1.5.0_1749684135025_0.40658160806176435","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"2.0.0","keywords":["fastify","oidc","reverse","proxy","auth","openid"],"author":{"name":"aaroncadillac"},"license":"MPL-2.0","_id":"@aaroncadillac/oidc-reverse-proxy@2.0.0","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"bin":{"oidc-rproxy":"server.js"},"dist":{"shasum":"31042401ac69e3fea09df0df16fa056771778b42","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-2.0.0.tgz","fileCount":8,"integrity":"sha512-JuRvoKDdMeWetuzoCuWYsZnqk5O2HmkdOLGWvdrYQz7vQbF+QJrzNvkiUAxUjnO+yRYAk94BNYF5qnI3kKyU/g==","signatures":[{"sig":"MEUCIA675/NvHIZpre4xibs6M8sWMsX0TaL8IzTQioiZJDwoAiEAmeiEfKWhgvuNXIHgZRF2Xln38joeeyvzLYnt6wHG9N0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30447},"main":"server.js","type":"module","gitHead":"582ca29ce94cc837026051462dbfe47b3122cb26","private":false,"scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"_npmUser":{"name":"aaroncadillac","actor":{"name":"aaroncadillac","type":"user","email":"aaron.hmaya@gmail.com"},"email":"aaron.hmaya@gmail.com"},"repository":{"url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple reverse proxy to protect paths with OIDC based on fastify","directories":{},"_nodeVersion":"20.19.2","dependencies":{"sade":"^1.8.1","fastify":"^5.3.3","openid-client":"^6.5.1","@fastify/cookie":"^11.0.2","@fastify/session":"^11.1.0","@fastify/http-proxy":"^11.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/oidc-reverse-proxy_2.0.0_1750886682609_0.2168749480810952","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"2.0.1","keywords":["fastify","oidc","reverse","proxy","auth","openid"],"author":{"name":"aaroncadillac"},"license":"MPL-2.0","_id":"@aaroncadillac/oidc-reverse-proxy@2.0.1","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"bin":{"oidc-rproxy":"server.js"},"dist":{"shasum":"70b51ecae0c1bc1d82cf4dd2bc3664732568665b","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-2.0.1.tgz","fileCount":8,"integrity":"sha512-S7zp6MwU4jhQLlpK1uJUFPbcYn6m4Nnx+deW+mNJyIdZgTcXavYnkaL5x7aoTqWyyo4Ds93P/CeaeaadV/a/yA==","signatures":[{"sig":"MEUCIEFH7JAMBUXZWbW7JLDhGzpodcmXg6NSnmBBt64GMYu4AiEAvtuCmkcR5tyIrnxBhV8ePaYFSfJETWU97z2P4LW7oNk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30446},"main":"server.js","type":"module","gitHead":"5be26f80530a3d4f91c59264c4e59136c9e8e214","private":false,"scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"_npmUser":{"name":"aaroncadillac","actor":{"name":"aaroncadillac","type":"user","email":"aaron.hmaya@gmail.com"},"email":"aaron.hmaya@gmail.com"},"repository":{"url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple reverse proxy to protect paths with OIDC based on fastify","directories":{},"_nodeVersion":"20.19.2","dependencies":{"sade":"^1.8.1","fastify":"^5.3.3","openid-client":"^6.5.1","@fastify/cookie":"^11.0.2","@fastify/session":"^11.1.0","@fastify/http-proxy":"^11.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/oidc-reverse-proxy_2.0.1_1750887132298_0.5078055881133821","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@aaroncadillac/oidc-reverse-proxy","version":"2.1.0","description":"A simple reverse proxy to protect paths with OIDC based on fastify","main":"server.js","scripts":{"dev":"nodemon ./server.js","start":"node server.js"},"bin":{"oidc-rproxy":"server.js"},"repository":{"type":"git","url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git"},"author":{"name":"aaroncadillac"},"license":"MPL-2.0","private":false,"publishConfig":{"access":"public"},"keywords":["fastify","oidc","reverse","proxy","auth","openid"],"type":"module","dependencies":{"@fastify/cookie":"^11.0.2","@fastify/http-proxy":"^11.1.2","@fastify/session":"^11.1.0","fastify":"^5.3.3","openid-client":"^6.5.1","sade":"^1.8.1"},"devDependencies":{"nodemon":"^3.1.10"},"_id":"@aaroncadillac/oidc-reverse-proxy@2.1.0","gitHead":"fea694e8d8d4845083bba7b6a3465bfee7e5335a","bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-OKZpwjScGfmjwRGfdRbLytzy9bAJCjRc86NhWbURaMYDB3906YL10r5eH0P3XC3RWsLT/+IgjdBbK7nxl6XQrg==","shasum":"2debbca20cce214b5c0d41a732c87cb9df3edb49","tarball":"https://registry.npmjs.org/@aaroncadillac/oidc-reverse-proxy/-/oidc-reverse-proxy-2.1.0.tgz","fileCount":8,"unpackedSize":31192,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC4jpMwHhYWMJxChwy5In/m3v+bi7d1vfHpNkQ3pV79iQIgZJoiTF2F7Ep7arpzRiBb99RiGVc/hBOt7TPIXowLiC0="}]},"_npmUser":{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"},"directories":{},"maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oidc-reverse-proxy_2.1.0_1765406229826_0.5909717239110017"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-11T04:48:41.912Z","modified":"2025-12-10T22:37:10.174Z","1.1.0":"2025-06-11T04:48:42.198Z","1.1.1":"2025-06-11T04:54:05.181Z","1.1.2":"2025-06-11T05:24:49.591Z","1.2.0":"2025-06-11T09:07:52.886Z","1.3.0":"2025-06-11T19:57:02.281Z","1.3.1":"2025-06-11T22:24:24.928Z","1.4.0":"2025-06-11T23:15:43.963Z","1.5.0":"2025-06-11T23:22:15.215Z","2.0.0":"2025-06-25T21:24:42.799Z","2.0.1":"2025-06-25T21:32:12.482Z","2.1.0":"2025-12-10T22:37:09.999Z"},"bugs":{"url":"https://github.com/aaroncadillac/oidc-reverse-proxy/issues"},"author":{"name":"aaroncadillac"},"license":"MPL-2.0","homepage":"https://github.com/aaroncadillac/oidc-reverse-proxy#readme","keywords":["fastify","oidc","reverse","proxy","auth","openid"],"repository":{"type":"git","url":"git+https://github.com/aaroncadillac/oidc-reverse-proxy.git"},"description":"A simple reverse proxy to protect paths with OIDC based on fastify","maintainers":[{"name":"aaroncadillac","email":"aaron.hmaya@gmail.com"}],"readme":"# oidc-reverse-proxy\n\n`oidc-rproxy` is a command-line utility that launches a reverse proxy secured with **OpenID Connect (OIDC)**. It reads a JSON configuration file that can be fully parameterised via environment variables.\n\n## Installation\n\n```bash\nnpm install -g @aaroncadillac/oidc-reverse-proxy\n```\n\n## Basic usage\n\n```bash\noidc-rproxy run http://localhost\n```\n\nThis command starts the OIDC-authenticated reverse-proxy server. You can override the default host, port and config file path:\n\n```bash\noidc-rproxy run http://localhost:8080 --host 0.0.0.0 --port 8080 --config ~/custom-config.json\n```\n\n> For every successful request the proxy injects an `Authorization: Bearer <access_token>` header containing the user’s OIDC access-token. Your upstream services can therefore handle sessions without additional middleware.\n\n## Commands\n\n### run\n\nStarts the reverse-proxy server.\n\n#### Global options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--host, -h` | `$OIDC_RPROXY_HOST` Host interface to bind | `localhost` |\n| `--port, -p` | `$OIDC_RPROXY_PORT` TCP port to listen on | `3000` |\n| `--config, -c` | Path to the JSON config file | `~/oidc-rproxy.json` |\n\n#### Examples\n\n```bash\noidc-rproxy run http://localhost:8080\noidc-rproxy run https://example.com --host 127.0.0.1 --port 9000 --config ~/config.json\n```\n\n## Configuration file (`oidc-rproxy.json`)\n\nThe configuration file is a JSON array, where each object defines how users are authenticated and how requests are routed to backend services.\n\nIt assumes that your issuer supports the [OIDC Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) protocol, so you don't need to manually specify:\n\n- `authorization_endpoint`\n- `token_endpoint`\n- `user_info_endpoint`\n\nEach object in the array maps one or more path prefixes to a single OIDC provider, meaning you can protect different paths with different identity providers in a single configuration.\n\n### Example configuration\n\n```json\n[\n  {\n    \"issuer\": \"https://auth.example.com\",\n    \"client_id\": \"example-client\",\n    \"client_secret\": \"••••••••••\",\n    \"scope\": \"openid email profile\",\n    \"session_cookie_name\": \"oidc_session\",\n    \"email_domains\": [\"example.com\"],\n    \"paths\": {\n      \"/api/\": { \"upstream\": \"http://127.0.0.1:4000\" },\n      \"/docs/\": { \"upstream\": \"http://127.0.0.1:4001\", \"healthcheck\": \"health\" }\n      \"/docs/\": { \"upstream\": \"http://127.0.0.1:4001\", \"healthcheckRootPath\": \"/health\" } /*This path is accessible without base path*/ \n    }\n  },\n  {\n    \"issuer\": \"https://login.partner.com\",\n    \"client_id\": \"partner-client\",\n    \"client_secret\": \"••••••••••\",\n    \"paths\": {\n      \"/partner/\": { \"upstream\": \"https://partner-backend.internal\" }\n    }\n  }\n]\n```\n\n### Required fields (per array element)\n\n- `issuer`\n- `client_id`\n- `client_secret`\n- `session_cookie_secret` - Secret key for session cookie encryption\n- `session_cookie_name` – name of the session cookie (default: `oidc_session`)\n- `paths`\n  - each key in `paths` must end with a `/` and must define an `upstream` URL\n\n### Optional fields\n\n- `scope` – OIDC scopes to request (default: `openid email profile`)\n- `email_domains` – restrict access to specified email domains\n- `on_unauthenticated_request` – action when a request is unauthenticated (`\"deny\"`, `\"redirect\"`, etc.)\n- `paths.*.healthcheck` – relative health-check path (e.g. `\"health\"`)\n\n## Authentication flow\n\n1. A user lands on a protected path.\n2. The proxy initiates the OIDC Authorisation Code flow with PKCE.\n3. After a successful login the user is redirected back with an ID-token and access-token.\n4. The proxy stores the ID-token in an encrypted session cookie (`session_cookie_name`).\n5. For every subsequent request the proxy:\n   - validates the cookie,\n   - refreshes tokens if necessary,\n   - adds `Authorization: <access_token>` to the outgoing request, and\n   - forwards the request to the configured upstream service.\n\n## Health checks\n\nIf a `healthcheck` property is defined for a path, the proxy will periodically poll `upstream/healthcheck` and mark the backend as unavailable when the endpoint does not return HTTP `2xx`.\n\n## Licence\n\nLicensed under the [MPL-2.0](LICENSE).\n","readmeFilename":"README.md"}