{"_id":"@financial-times/ip-whitelist","_rev":"30-5207b04261eb3fed87921af9941a84dd","name":"@financial-times/ip-whitelist","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@financial-times/ip-whitelist","version":"0.0.1","keywords":[],"author":{"name":"Internal Products","email":"ip.engineering@ft.com"},"license":"MIT","_id":"@financial-times/ip-whitelist@0.0.1","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"callumlocke","email":"callum.locke@gmail.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"quarterto","email":"mwr.brennan@gmail.com"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"},{"name":"zhenyulin","email":"zhenyu.lyn@gmail.com"}],"contributors":[{"name":"Robin Marr","email":"robin.marr@ft.com"},{"name":"Kiya Gurmesa","email":"kiya.gurmesa@ft.com"},{"name":"Teja Thomas","email":"teja.thomas@ft.com"}],"homepage":"https://github.com/Financial-Times/ip-whitelist#ip-whitelist","bugs":{"url":"https://github.com/Financial-Times/ip-whitelist/issues"},"dist":{"shasum":"775f5b463b16a97f0579ded67f56bdc95b37e7b2","tarball":"https://registry.npmjs.org/@financial-times/ip-whitelist/-/ip-whitelist-0.0.1.tgz","fileCount":4,"integrity":"sha512-Xu7nNYVh71uY+Psnl0VR7JFLyx0XUZ2Fh+YLl0FHDuC1bD18scMNdX2pxSRZHStbKhZPQbNdJIaDuYIhvx8XAg==","signatures":[{"sig":"MEUCIFKdhinbJlERxHQtid/AOLHe17mYc6o48UVakYGoSYBvAiEA2m8NqfS1+JhS2Yv0MHxK1BGHcYHavUZU/9X0CtOSyek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2HCqCRA9TVsSAnZWagAAFMYQAJEwEb707HkFPzzBoorx\nxewo6UlENvcIUD7uzE26CgoD05jfNAYLPNg3qIBRv9XmrtSO41u1KLNFRRpG\nJNHG8QcPl1jNYVy2tK780xgmYi1ycfUHREYf3VH9T1gmXRZZZt/MubyGVI3d\n+x8GKGOa23w2YPm2THp7EDINU3EdqlzpDs2Jtt4KpcPslWebeguFFD0kK7vm\nxleH8tc+ANJeTWRjvHqdWR6B8jY7g4cHLgV/BLYCOnA2TSWYR0fvLIAeQFFY\n5BERvBj+zScdqknCbSgyuyd5NICjEeyczE76OvMAHogXYM6fiPRSPK9N8iii\nnLagN4k/IKvoFH0OZBPlXjgb5++j/Vwfv35BzGKREwMCOhdkFjnu7UbyvKuv\narWTxV7SjGIQJrIcEO0yyEu53gDGIRe9sJH1lha4w+QCUEvFSLNDRGmM+hPC\nJQ0j070TLVHCK90Nlc9XAJj6yioZ3trsMb+wShrGQaFL3BRp8c0Rm5ETTcZY\nb4NJeZverUavhHT6sSXwmO8FGK98+a0BhuanVQRWHP3lVK21b6Jr20/gbCjB\nDhElqA4EYijv6IaZs8SALLz+gR9ZXvt+RXKgOKlVuCY6FOXJhrVLV/K5BZap\nimWsvFwdgWxhuJx+UbXdQgEF3/gNipD0W+wCCFLLUV3dt8v6Gw8R6amLK8r7\nOy9M\r\n=xrj7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","team":"internal-products","gitHead":"25ff7f91b3f90cdd02f59d46df359b92d2adf813","scripts":{"lint":"ip lint","test":"run-s lint \"mocha -- --report\"","mocha":"ip mocha","preversion":"test $(git rev-parse --abbrev-ref HEAD) != 'master' && { echo 'you must be on master to release'; exit 1; } || exit 0","postinstall":"(pwd | grep -q 'node_modules' || test \"$NODE_ENV\" = 'production') && exit 0 || ip postinstall","postversion":"git push origin master --tags","whitesource":"whitesource \"$npm_package_name\""},"_npmUser":{"name":"ft-internal-products","email":"ip.engineering@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/ip-whitelist.git","type":"git"},"_npmVersion":"5.6.0","description":"Checks if a user belongs to the given whitelist","directories":{},"_nodeVersion":"8.11.2","dependencies":{"debug":"^3.1.0","npm-run-all":"^4.1.3","@financial-times/ip-custom-errors":"^1.0.1"},"eslintConfig":{"extends":["@financial-times/ip-wxp"]},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^4.19.1","@financial-times/ip-wxp-scripts":"^1.0.5","@financial-times/di2-whitesource":"^2.0.1","@financial-times/secret-squirrel":"^2.8.0","@financial-times/ip-wxp-git-config":"^1.0.0","@financial-times/eslint-config-ip-wxp":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/ip-whitelist_0.0.1_1527864616322_0.5378396797353531","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-06-01T14:50:16.235Z","modified":"2026-06-23T15:52:52.046Z","0.0.1":"2018-06-01T14:50:16.457Z"},"bugs":{"url":"https://github.com/Financial-Times/ip-whitelist/issues"},"author":{"name":"Internal Products","email":"ip.engineering@ft.com"},"license":"MIT","homepage":"https://github.com/Financial-Times/ip-whitelist#ip-whitelist","keywords":[],"repository":{"url":"git+https://github.com/Financial-Times/ip-whitelist.git","type":"git"},"description":"Checks if a user belongs to the given whitelist","contributors":[{"name":"Robin Marr","email":"robin.marr@ft.com"},{"name":"Kiya Gurmesa","email":"kiya.gurmesa@ft.com"},{"name":"Teja Thomas","email":"teja.thomas@ft.com"}],"maintainers":[{"email":"code.management@ft.com","name":"the-ft"},{"email":"info+npm@rowanmanning.com","name":"rowanmanning"},{"email":"yay@chee.party","name":"chee"},{"email":"a@ax.gy","name":"alexwilson"},{"email":"howdy@aendra.com","name":"aendra"},{"email":"emma.lewis@ft.com","name":"emmalewis"},{"email":"lee@leemoody.co.uk","name":"notlee"},{"email":"hamza.samih@ft.com","name":"hamza.samih"},{"email":"robert.boulton@ft.com","name":"robertboulton"},{"email":"leila.micollier@ft.com","name":"leila.micollier"},{"email":"rob.godfrey@ft.com","name":"robgodfrey"}],"readme":"# ip-whitelist\n\n[![npm version](https://badge.fury.io/js/%40financial-times%2Fip-whitelist.svg)](https://badge.fury.io/js/%40financial-times%2Fip-whitelist)\n[![CircleCI](https://circleci.com/gh/Financial-Times/ip-whitelist.svg?style=svg&circle-token=d30869d5156c101c87d7e3ef94b88617c54795b9)](https://circleci.com/gh/Financial-Times/ip-whitelist)\n\nThis module is an express middleware that can verify if a user belongs to a whitelist. \n\n## Setup\n```javascript\n\n  npm install -S @financial-times/ip-whitelist\n\n```\n\n## Usage\nSet the whitelist data to the *app.locals* object in your application. Then call this middleware after the [s3o-middleware](\"https://www.npmjs.com/package/@financial-times/s3o-middleware\")\n```javascript\nvar authS3O = require('@financial-times/s3o-middleware');\nvar whitelist = require('@financial-times/ip-whitelist');\nconst whitelistData = require('route to your whitelist data');\n...\nconst app = express();\napp.locals.whitelistData = whitelistData;\napp.use(authS3O);\napp.use(whitelist);\n...\n```\n## Licence\n   MIT","readmeFilename":"README.md"}