{"_id":"heroku-bouncer","_rev":"35-0e55a31583528e5f8b94839239f2ba06","name":"heroku-bouncer","description":"heroku bouncer middleware for express","dist-tags":{"latest":"4.0.1"},"versions":{"0.1.0":{"name":"heroku-bouncer","version":"0.1.0","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~3.5.0"},"_id":"heroku-bouncer@0.1.0","dist":{"shasum":"0fefea89f0ff2a9ee2df167831d2ec9b897cf5f5","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-0.1.0.tgz","integrity":"sha512-441lj+vPKSr7Bc0qL+YAXIKbmeT9k+UJwZeBg/ahcw9Nd9sR4ONBD6abdtHf4KKWimZJzvJJOoccSMQlmgxFRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCjo/rUV+pM24DRDAua8k4Ytw/4N9I/KrhpmGc/Pe2uQIgC7AuxSutmkcR7nGyh+tfil++x15dhl5kMlk41ttFDXU="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}]},"1.0.0":{"name":"heroku-bouncer","version":"1.0.0","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~3.5.1"},"devDependencies":{"mocha":"~1.18.2","should":"~3.2.0-beta1","request":"~2.34.0"},"_id":"heroku-bouncer@1.0.0","dist":{"shasum":"ddfd7759b9b134976a609f3b9663aa649c6e4d91","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-1.0.0.tgz","integrity":"sha512-v1Ev4ptZ/50EGzq/QrrYg5D0TR9ouFips2iuC1i+zHL4Js+Q6mOHiC3/huosflmz65oa2ZpNJ0XmjAbEbCKdZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCn4HbS4o6PjqdQVaCJ9nG7UQk9mGOsOJpvFy47DD4WEQIhAPVACZGd1Yo4SNI1ZCld1KIRKXy0edhC0Fs640E8sKM+"}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}]},"1.1.0":{"name":"heroku-bouncer","version":"1.1.0","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~3.5.1"},"devDependencies":{"mocha":"~1.18.2","should":"~3.2.0-beta1","request":"~2.34.0"},"_id":"heroku-bouncer@1.1.0","dist":{"shasum":"f3e335ff39fc06ad133f4715802d908558455e58","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-1.1.0.tgz","integrity":"sha512-c4nYqJQCz2fwqGho/KtdiDQscsodR5t41aNFD+KG3zFZzAgftcc6pXYJfHh14f4iACrczV6zKxoPAlvcL4oK3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICiJJDB1M+qhcqDUC8wl5bDmSjc4FKvru9+z7gn1H+qBAiBWF4QwyCVX952ooYyNVqmrq7lUvPRlZvzL00ujzuKQ1w=="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}]},"1.1.1":{"name":"heroku-bouncer","version":"1.1.1","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~3.5.1"},"devDependencies":{"mocha":"~1.18.2","should":"~3.2.0-beta1","request":"~2.34.0"},"_id":"heroku-bouncer@1.1.1","dist":{"shasum":"4dc39736b7f13ce4f751c848792c89785ec8d7ac","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-1.1.1.tgz","integrity":"sha512-ZgdJlFLQkT1Cl4hpMM7YSar+wlKDOl9nMF4SfgfXPLvp2gJjkJA8ebLhU+4u3VbFObweLINbuUde1c2Jg8pSuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClpvuXsSonjqfHxoj8mmhg92dpaefRghzD/NvepCNxuwIgS+lPs1891B5v/T6nED49cw50NR2KfsqrZSi1xAMEZ/c="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}]},"1.1.2":{"name":"heroku-bouncer","version":"1.1.2","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~3.5.1"},"devDependencies":{"mocha":"~1.18.2","should":"~3.2.0-beta1","request":"~2.34.0"},"_id":"heroku-bouncer@1.1.2","dist":{"shasum":"5f2ee0c9ad2498e2b009dcef5e16e94a555eebc1","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-1.1.2.tgz","integrity":"sha512-1aHrE/rBkEcyk4QL+IfjIZkWb9LkoroUUlDS4CEW5ro8M4qjfxsvGunu0IR00jIXkaE+27cGaqDP5ljwBmVf8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICsPupGZeotBXX9mPsvtwQ51dwQJ7IyF4E45wlxpBGQhAiEA6JMm8vhlA0LRLS8uuKpcFw9G06vzfmV1KVrTXhJQ/ls="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}]},"2.0.0":{"name":"heroku-bouncer","version":"2.0.0","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~4.1.1","heroku-client":"^1.2.0"},"devDependencies":{"client-sessions":"^0.6.0","cookie-parser":"^1.0.1","mocha":"~1.18.2","request":"~2.34.0","should":"~3.2.0-beta1"},"jshintConfig":{"eqeqeq":true,"forin":true,"globalstrict":true,"immed":true,"indent":2,"latedef":"nofunc","newcap":true,"noarg":true,"quotmark":"single","strict":true,"trailing":true,"undef":true,"unused":true,"globals":{"afterEach":false,"before":false,"beforeEach":false,"context":false,"describe":false,"exports":false,"it":false,"module":false,"process":false,"require":false}},"_id":"heroku-bouncer@2.0.0","_shasum":"2c008f06389d7f2e82ce4d4edb4d2e044187c373","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}],"dist":{"shasum":"2c008f06389d7f2e82ce4d4edb4d2e044187c373","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-2.0.0.tgz","integrity":"sha512-aDbKvRvBTlXsotMDO3rZIeBMndyNrZHZr+4ViND8fVL330ajqj5tR6FJaihzv7M+8ErfOkufTfjUPgJghSA0tg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGzaR+6JgOwR8iw986YtVw1c03gF8z/OM+IQZhTgYuuOAiAijZSFoxbKd6knn2A19SFnmyqUwoYCPS/yEgl3cl/SMw=="}]}},"2.0.1":{"name":"heroku-bouncer","version":"2.0.1","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~4.1.1","heroku-client":"^1.2.0"},"devDependencies":{"client-sessions":"^0.6.0","cookie-parser":"^1.0.1","mocha":"~1.18.2","request":"~2.34.0","should":"~3.2.0-beta1"},"jshintConfig":{"eqeqeq":true,"forin":true,"globalstrict":true,"immed":true,"indent":2,"latedef":"nofunc","newcap":true,"noarg":true,"quotmark":"single","strict":true,"trailing":true,"undef":true,"unused":true,"globals":{"afterEach":false,"before":false,"beforeEach":false,"context":false,"describe":false,"exports":false,"it":false,"module":false,"process":false,"require":false}},"_id":"heroku-bouncer@2.0.1","_shasum":"833c68795843aa099b9b6d4a564a86a8f355f1f7","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}],"dist":{"shasum":"833c68795843aa099b9b6d4a564a86a8f355f1f7","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-2.0.1.tgz","integrity":"sha512-UbER17DFjZw42+NMaGdSbheJBgMEacM9FS6NK/eTTP4Euz8rzH/F6xu8ZXLA1eK7RdWXueHGs7QDYARf5nu/pA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBRB/xi6D/Br8dwLTaDE/9yg6m3WMTgaVtsVvgeSKjLYAiEA2JljwHFOb6Kg7be9bVvMEqmH68mbQkOTk9jM4q3f5qQ="}]}},"2.1.0":{"name":"heroku-bouncer","version":"2.1.0","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~4.1.1","heroku-client":"^1.2.0"},"devDependencies":{"client-sessions":"^0.6.0","cookie-parser":"^1.0.1","mocha":"~1.18.2","request":"~2.34.0","should":"~3.2.0-beta1"},"jshintConfig":{"eqeqeq":true,"forin":true,"globalstrict":true,"immed":true,"indent":2,"latedef":"nofunc","newcap":true,"noarg":true,"quotmark":"single","strict":true,"trailing":true,"undef":true,"unused":true,"globals":{"afterEach":false,"before":false,"beforeEach":false,"context":false,"describe":false,"exports":false,"it":false,"module":false,"process":false,"require":false}},"gitHead":"c663a7388fa355a7334f897bc49a1b15eabd7845","_id":"heroku-bouncer@2.1.0","_shasum":"4cda9284cdcf46420399ca41707979475100790f","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}],"dist":{"shasum":"4cda9284cdcf46420399ca41707979475100790f","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-2.1.0.tgz","integrity":"sha512-cWj8L5YwaCBctpSX9feMItRIaCGHqmh8xlbsef5Q+4AVnF1DCN4CdeH71oShb32n5Cb1ce0JFs0xuhIEuGjJuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUAqLjIaWsbC0Fo8dKDN4kmcbpZ0J1pZXagnEcWLAaXAIhAMIuqiuFKKAQQVbDb0B7QyhK+38n8idwDbhsalFV3Kug"}]}},"3.0.0":{"name":"heroku-bouncer","version":"3.0.0","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~4.1.1","heroku-client":"^1.2.0","bluebird":"^2.2.2","request":"^2.37.0"},"devDependencies":{"client-sessions":"^0.6.0","cookie-parser":"^1.0.1","mocha":"~1.18.2","should":"~3.2.0-beta1","tough-cookie":"^0.12.1","bluebird":"^2.2.2","body-parser":"^1.4.3","node-uuid":"^1.4.1"},"jshintConfig":{"eqeqeq":true,"forin":true,"globalstrict":true,"immed":true,"indent":2,"latedef":"nofunc","newcap":true,"noarg":true,"quotmark":"single","strict":true,"trailing":true,"undef":true,"unused":true,"globals":{"afterEach":false,"before":false,"beforeEach":false,"context":false,"describe":false,"exports":false,"it":false,"module":false,"process":false,"require":false}},"_id":"heroku-bouncer@3.0.0","dist":{"shasum":"5d9750d644741e6a8e4239cc091b66ad22b49ff7","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-3.0.0.tgz","integrity":"sha512-6R1zzfx05iRn82pJgMZ2R13AtHsLWeFiVqGCTCP6dTgGIYVbGTZUHzQiNrTohMzacMVVB6DG64xjj1lDpXI98Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHEJrDli6yDQvmwawV3odPBsYrcHcBQ5ynx0Pv2DVOIOAiBgUYLG9nmNPytyq8Uqsu4SIuMb+1rto/VRi18pSu17OQ=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}]},"3.1.0":{"name":"heroku-bouncer","version":"3.1.0","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~4.1.1","heroku-client":"^1.2.0","bluebird":"^2.2.2","request":"^2.37.0"},"devDependencies":{"client-sessions":"^0.6.0","cookie-parser":"^1.0.1","mocha":"~1.18.2","should":"~3.2.0-beta1","tough-cookie":"^0.12.1","bluebird":"^2.2.2","body-parser":"^1.4.3","node-uuid":"^1.4.1"},"jshintConfig":{"eqeqeq":true,"forin":true,"globalstrict":true,"immed":true,"indent":2,"latedef":"nofunc","newcap":true,"noarg":true,"quotmark":"single","strict":true,"trailing":true,"undef":true,"unused":true,"globals":{"afterEach":false,"before":false,"beforeEach":false,"context":false,"describe":false,"exports":false,"it":false,"module":false,"process":false,"require":false}},"_id":"heroku-bouncer@3.1.0","dist":{"shasum":"162d8b391a66cdd703e64e1f42ec07a3cd8aa9d4","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-3.1.0.tgz","integrity":"sha512-8C0QDPSM1yLIFlrDz7KoKN2yWAFyW6SzXnpfKMr36zjL90i+9vYuPsXsOekTVb8QPfsETT4tDUy8H0Nb6yK+sg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf1aIw/c1xMC9bT+LFmAFMIzhAhn+w2KA6xMYpCJqPjgIgQ781CkL7qHlMiWSibWAZXJOQ8LFLRrD+bMxVPviQgh8="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}]},"3.1.1":{"name":"heroku-bouncer","version":"3.1.1","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"encryptor":"~0.1.0","oauth":"~0.9.11","express":"~4.1.1","heroku-client":"^1.6.0","bluebird":"^2.2.2","request":"^2.37.0"},"devDependencies":{"client-sessions":"^0.6.0","cookie-parser":"^1.0.1","mocha":"~1.18.2","should":"~3.2.0-beta1","tough-cookie":"^0.12.1","bluebird":"^2.2.2","body-parser":"^1.4.3","node-uuid":"^1.4.1"},"jshintConfig":{"eqeqeq":true,"forin":true,"globalstrict":true,"immed":true,"indent":2,"latedef":"nofunc","newcap":true,"noarg":true,"quotmark":"single","strict":true,"trailing":true,"undef":true,"unused":true,"globals":{"afterEach":false,"before":false,"beforeEach":false,"context":false,"describe":false,"exports":false,"it":false,"module":false,"process":false,"require":false}},"_id":"heroku-bouncer@3.1.1","dist":{"shasum":"3131d216be40eec36a9ff612a894f7ef2e3fe1ea","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-3.1.1.tgz","integrity":"sha512-eK1FMLKsMLFEPrMB6htu8rcmKUOKaVNFdnbBKBO+g5ZBSPK1g8RLOlbQTw99VoaOqa6BY452GlGKMKv178KACQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfVHwC90G6w5VAzLGTgSjyBbIcAumB48SqfB1qKl+iwwIgEyyS+XrzNNpE18f1Zuc9e/uEe6xek4B4xrbkiPi7SA0="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}]},"3.1.2":{"name":"heroku-bouncer","version":"3.1.2","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"oauth":"~0.9.11","express":"~4.1.1","heroku-client":"^1.6.0","bluebird":"^2.2.2","request":"^2.37.0","simple-encryptor":"^1.0.2"},"devDependencies":{"client-sessions":"^0.6.0","cookie-parser":"^1.0.1","mocha":"~1.18.2","should":"~3.2.0-beta1","tough-cookie":"^0.12.1","bluebird":"^2.2.2","body-parser":"^1.4.3","node-uuid":"^1.4.1"},"jshintConfig":{"eqeqeq":true,"forin":true,"globalstrict":true,"immed":true,"indent":2,"latedef":"nofunc","newcap":true,"noarg":true,"quotmark":"single","strict":true,"trailing":true,"undef":true,"unused":true,"globals":{"afterEach":false,"before":false,"beforeEach":false,"context":false,"describe":false,"exports":false,"it":false,"module":false,"process":false,"require":false}},"_id":"heroku-bouncer@3.1.2","dist":{"shasum":"1e3a57d4cc1afb2bb6dea82add34748cfb005612","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-3.1.2.tgz","integrity":"sha512-Ickxm1iRx4RZ9zuzv+WkzpI7qcuvAxdz9R6iRmbCqFP3eR+AEam1KL4s28Kbsq3p2QlobhBa+QtyAh8GsG5i8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEe78BD8ncRDR53gsvzD3DbalXXtGcOi1Q0eVZpZOzfEAiEAl2lXY3B3kCelaBkPC40DIcOynvKYtid7/imXuWI71og="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}]},"4.0.1":{"name":"heroku-bouncer","version":"4.0.1","description":"heroku bouncer middleware for express","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"license":"MIT","bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"homepage":"https://github.com/jclem/node-heroku-bouncer","dependencies":{"oauth":"~0.9.11","express":"~4.1.1","heroku-client":"^1.6.0","bluebird":"^2.2.2","request":"^2.37.0","simple-encryptor":"^1.0.2"},"devDependencies":{"client-sessions":"^0.6.0","cookie-parser":"^1.0.1","mocha":"~1.18.2","should":"~3.2.0-beta1","tough-cookie":"^0.12.1","bluebird":"^2.2.2","body-parser":"^1.4.3","node-uuid":"^1.4.1"},"jshintConfig":{"eqeqeq":true,"forin":true,"globalstrict":true,"immed":true,"indent":2,"latedef":"nofunc","newcap":true,"noarg":true,"quotmark":"single","strict":true,"trailing":true,"undef":true,"unused":true,"globals":{"afterEach":false,"before":false,"beforeEach":false,"context":false,"describe":false,"exports":false,"it":false,"module":false,"process":false,"require":false}},"_id":"heroku-bouncer@4.0.1","dist":{"shasum":"da1c7a1fc5e1ac2b85f3096c60a6ed34822d6ae1","tarball":"https://registry.npmjs.org/heroku-bouncer/-/heroku-bouncer-4.0.1.tgz","integrity":"sha512-KNGn/I7jKnMCLrQa2HGmOYCs6tQSYyDsIa0b+k0T3gpDwZia/z0390S2mK4jgqQRImIiUH9Eg+rfq7zFYu6nlg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDx6GmRkZGL711n/nvhpDPbheUcwOf1yVOtONLtHzWY/AIgBqNELhkRovWmeN8/zU0IHWRVOblJ9A546Hrsbh+hq2o="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"jclem","email":"jonathan@jclem.net"},"maintainers":[{"name":"jclem","email":"jonathan@jclem.net"}]}},"readme":"# node-heroku-bouncer [![Build Status](https://travis-ci.org/jclem/node-heroku-bouncer.svg?branch=master)](https://travis-ci.org/jclem/node-heroku-bouncer)\n\nnode-heroku-bouncer is an easy-to-use module for adding Heroku OAuth\nauthentication to Express 4 apps.\n\n## Install\n\n```sh\n$ npm install heroku-bouncer --save\n```\n\n## Requirements\n\n- Node 0.10.x\n- Express 4.x\n\n## Use\n\nEnsure your app is using the [cookie-parser][cookieParser] and\n[client-sessions][clientSessions] middlewares. This module is not guaranteed to\nwork with any other session middleware.\n\n```javascript\nvar express      = require('express');\nvar cookieParser = require('cookie-parser');\nvar sessions     = require('client-sessions');\nvar bouncer      = require('heroku-bouncer');\nvar app          = express();\n\napp.use(cookieParser('your cookie secret'));\n\n// NOTE: These options are good general options for use in a Heroku app, but\n// carefully review your own environment's needs before just copying these.\napp.use(sessions({\n  cookieName    : 'session',\n  secret        : 'your session secret',\n  duration      : 24 * 60 * 60 * 1000,\n  activeDuration: 1000 * 60 * 5,\n  cookie        : {\n    path     : '/',\n    ephemeral: false,\n    httpOnly : true,\n    secure   : false\n  }\n}));\n\napp.use(bouncer({\n  oAuthClientID      : 'client-id',\n  oAuthClientSecret  : 'client-secret',\n  encryptionSecret   : 'abcd1234abcd1234'\n}));\n\napp.get('/', function(req, res) {\n  res.end('You must be logged in.');\n});\n```\n\nAfter requests pass through the bouncer middleware, they'll have the\n`heroku-bouncer` property on them:\n\n```javascript\n{\n  token: 'user-api-token',\n  id   : 'user-id',\n  name : 'user-name',\n  email: 'user-email'\n}\n```\n\nTo log a user out, send them to `/auth/heroku/logout`.\n\n### Options\n\n| Options | Required? | Default | Description |\n|---------|-----------|---------|-------------|\n| `encryptionSecret` | Yes | n/a | A random string used to encrypt your user session data |\n| `oAuthClientID` | Yes | n/a | The ID of your Heroku OAuth client |\n| `oAuthClientSecret` | Yes | n/a | The secret of your Heroku OAuth client |\n| `herokuAPIHost` | No | n/a | An optional override host to send Heroku API requests to |\n| `sessionSyncNonce` | No | `null` | The name of a nonce cookie to validate sessions against |\n| `ignoredRoutes` | No | `[]` | An array of regular expressions to match routes to be ignored when there is no session active |\n| `oAuthServerURL` | No | `\"https://id.heroku.com\"` | The location of the Heroku OAuth server |\n| `herokaiOnlyHandler` | No | `null` | A route handler that will be called on requests by non-Herokai |\n\n## Test\n\n```sh\n$ npm test\n```\n\n[cookieParser]:   https://github.com/expressjs/cookie-parser\n[clientSessions]: https://github.com/mozilla/node-client-sessions\n","maintainers":[{"name":"jackca","email":"hi@janderson.me"}],"time":{"modified":"2022-06-18T20:14:19.083Z","created":"2014-03-23T08:18:45.376Z","0.1.0":"2014-03-23T08:18:45.376Z","1.0.0":"2014-03-27T19:44:44.221Z","1.1.0":"2014-03-28T00:05:56.585Z","1.1.1":"2014-03-28T00:12:17.936Z","1.1.2":"2014-03-28T00:14:41.905Z","2.0.0":"2014-06-11T20:42:51.119Z","2.0.1":"2014-06-11T21:44:41.478Z","2.1.0":"2014-07-09T20:29:29.892Z","3.0.0":"2014-07-16T18:43:22.650Z","3.1.0":"2014-07-30T19:29:16.297Z","3.1.1":"2014-08-13T20:19:51.000Z","3.1.2":"2014-08-14T21:11:57.255Z","4.0.0":"2014-08-15T17:45:51.945Z","4.0.1":"2014-10-21T17:06:19.628Z"},"homepage":"https://github.com/jclem/node-heroku-bouncer","repository":{"type":"git","url":"https://github.com/jclem/node-heroku-bouncer"},"author":{"name":"Jonathan Clem"},"bugs":{"url":"https://github.com/jclem/node-heroku-bouncer/issues"},"license":"MIT","readmeFilename":"README.md","users":{"raulb":true}}