{"_id":"permission","_rev":"29-a109cde98550a6e5a15cb14014b5d790","name":"permission","description":"Handle user permissions for routes based on roles.","dist-tags":{"latest":"1.1.0"},"versions":{"0.1.0":{"name":"permission","version":"0.1.0","description":"Make user permissions for views based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"license":"ISC","_id":"permission@0.1.0","_shasum":"00d8e0bceaf4027b13cea74768c0921d0f3245f6","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.28","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"00d8e0bceaf4027b13cea74768c0921d0f3245f6","tarball":"https://registry.npmjs.org/permission/-/permission-0.1.0.tgz","integrity":"sha512-vYpVSj+pXrmkmE+GZdkR3+LtMu72JG9DxwTamsh+xz+T1maQ7B/RLSBQCI23jCvlnWgMsKXB1YptVH3FFu4ptA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICAPMb1hSUfwNjjyAC5VuLD0LYWTUtOGqTzPgwoigrmfAiBg8IwkQtrocDzGHsSzCqeGu9IbC1Zm3cBo+5BQwmEiSw=="}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"0.1.1":{"name":"permission","version":"0.1.1","description":"Make user permissions for views based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"license":"ISC","_id":"permission@0.1.1","_shasum":"fdac0dbed845ca2df66f475976f4f7bde5b832d4","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.28","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"fdac0dbed845ca2df66f475976f4f7bde5b832d4","tarball":"https://registry.npmjs.org/permission/-/permission-0.1.1.tgz","integrity":"sha512-tNUfuWwX3HHiGjqxS5A7T95X4c5zyVIOcFsyc+LQB5ysK91RQu6J0j2S9bQxsd+5eZnpM/uS1GASokmdjoI9tw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICVUEeY+hkQK4bsM8k64YqhQglp6zSB83gR75emBUiynAiA7dH+f6u+GnL30FsweNAFP0LAXhJ4YPBZgdyw4+LUXrw=="}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"0.1.2":{"name":"permission","version":"0.1.2","description":"Make user permissions for views based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"license":"ISC","_id":"permission@0.1.2","_shasum":"b19ffda15e58670f75dea93581d10ddb90526bf5","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.28","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"b19ffda15e58670f75dea93581d10ddb90526bf5","tarball":"https://registry.npmjs.org/permission/-/permission-0.1.2.tgz","integrity":"sha512-NSk6bJiFwIGgs4qv4E8KYZ4ujHiJLIwK95JFB/j8jXNezoaiQXt6j3mOmvxQtaVdYT+u+ULtnK828wkjfKfTKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHq5/7f5epw7iOS65Zn2jJ43EYuhfq4Tge8NQAdBT4+QIhAMxgQwQ2KXAv+6Cxj3C8THUx5p5MHEkGPAEhld4dW7ll"}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"0.1.3":{"name":"permission","version":"0.1.3","description":"Make user permissions for views based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"license":"ISC","_id":"permission@0.1.3","_shasum":"fcaac4f37c9342e0d3f1863a773dbc9db698fa9d","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.28","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"fcaac4f37c9342e0d3f1863a773dbc9db698fa9d","tarball":"https://registry.npmjs.org/permission/-/permission-0.1.3.tgz","integrity":"sha512-LYWuzxV3lf1BEBDmT3noHJl+v3Curi5fW7pw8cPks3+wIqMWUEOkGpJJvXoQv/5mk+t5TkYksHavMtbMv5yPEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDszpnJqWQvoYTh+b6GdNa9BoEaf7Akq98Wv9zSKDqZKAiAtXpmX/19PJ0Kfnx4qEgGzC9rfKwvKe6Zcxh7QsFTpyg=="}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"0.1.4":{"name":"permission","version":"0.1.4","description":"Make user permissions for views based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"license":"ISC","repository":{"type":"git","url":"https://github.com/ttenodi/permission.git"},"bugs":{"url":"https://github.com/ttenodi/permission/issues"},"gitHead":"19e4ae94488e056fa37d63ab59313314f6e7a627","homepage":"https://github.com/ttenodi/permission","_id":"permission@0.1.4","_shasum":"65208c7efe3516612b3984fbd8f6daca084e738a","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.28","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"65208c7efe3516612b3984fbd8f6daca084e738a","tarball":"https://registry.npmjs.org/permission/-/permission-0.1.4.tgz","integrity":"sha512-nWgFeai4QBS36Wb0doem6IYYJoRKkJdct8cByRGE0OzvX268YddPD3Axd1x5+6qYOyq3jUVrrL5raWYID/lsgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/nB31LznuToxKBKeoUuKEr1ZfWa0B5q6928afkIUA/QIhAI44rjh5PZE5t9Ff6VY2WA+bg+HGnE95E1Kqbtuud57V"}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"0.1.5":{"name":"permission","version":"0.1.5","description":"Make user permissions for views based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"repository":{"type":"git","url":"https://github.com/ttenodi/permission.git"},"bugs":{"url":"https://github.com/ttenodi/permission/issues"},"gitHead":"e2be4055916ae1e0c56df1b5727a4675689e52fe","homepage":"https://github.com/ttenodi/permission","_id":"permission@0.1.5","_shasum":"7eb1f19cd55558910e6b40ba602ec8309d3d4828","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.28","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"7eb1f19cd55558910e6b40ba602ec8309d3d4828","tarball":"https://registry.npmjs.org/permission/-/permission-0.1.5.tgz","integrity":"sha512-6oWn0bCAiBfutTuhH/z4jJ9PmNoguNprlIruYJKs/1gzSUa/ukDLHMpooSxrXKbnIB7mOQu7SCmYq3sMcsKz9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3KQC9rKflDdbtSYGqyq9nqqQxBPyhZ2v0oVK4+fns6AIhAIzq5nq//SpyQ2kBba8+r87X7SfjWhloKXL76V/ZFPo0"}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"0.1.6":{"name":"permission","version":"0.1.6","description":"Handle user permissions for routes based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"contributors":[{"name":"Lubert Theo","email":"theo.lubert@gmail.com"}],"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"repository":{"type":"git","url":"https://github.com/ttenodi/permission.git"},"bugs":{"url":"https://github.com/ttenodi/permission/issues"},"gitHead":"5439d32441631799fb0058f0491ad560600d3be6","homepage":"https://github.com/ttenodi/permission","_id":"permission@0.1.6","_shasum":"1d0f04578f643792149fbc968ed80444b9e9e0c3","_from":".","_npmVersion":"2.3.0","_nodeVersion":"0.11.16","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"1d0f04578f643792149fbc968ed80444b9e9e0c3","tarball":"https://registry.npmjs.org/permission/-/permission-0.1.6.tgz","integrity":"sha512-NFQyVych7Jx71CRCB6xM6/V4L48lk6OnKdSyHmdod0JIiLlexmUyrpUf42XYyMe4BJyl82jDHGbSlL1v+hJpzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEcMC2NplarnYrsvYBM4winjkFs1mIuRHIsffu9AKtWbAiEApGtzOkspYLSM8ytNS5Y9ZE2CLxbv0i0TDkcsuDRwTiI="}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"1.0.0":{"name":"permission","version":"1.0.0","description":"Handle user permissions for routes based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["ACL","access","control","list","permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"contributors":[{"name":"Lubert Theo","email":"theo.lubert@gmail.com"}],"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"repository":{"type":"git","url":"git+https://github.com/ttenodi/permission.git"},"bugs":{"url":"https://github.com/ttenodi/permission/issues"},"peerDependencies":{"express":"4.x","passport":"0.x","flash":"1.x"},"gitHead":"5439d32441631799fb0058f0491ad560600d3be6","homepage":"https://github.com/ttenodi/permission#readme","_id":"permission@1.0.0","_shasum":"188799ab0c3d8293556583ecc096c85d4335a042","_from":".","_npmVersion":"3.3.6","_nodeVersion":"4.1.1","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"188799ab0c3d8293556583ecc096c85d4335a042","tarball":"https://registry.npmjs.org/permission/-/permission-1.0.0.tgz","integrity":"sha512-oPDXLzwD6DT089XzxoGZkpu07O3J5BxzdpM+c9l0RETow6XUXSPcF4tMF/ez5+dR2oaoCKCOQYP/qkDtvemvdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEZ8k+nlhdJ/6BoNQ0wClORoAVRFYu1sIkIVg4dmFwqUAiEAttR77z3hsTsUU2nJLalZxWkSGHTMsiMLlPtq5l+2RdA="}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"1.0.1":{"name":"permission","version":"1.0.1","description":"Handle user permissions for routes based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["ACL","access","control","list","permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"contributors":[{"name":"Lubert Theo","email":"theo.lubert@gmail.com"}],"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"repository":{"type":"git","url":"git+https://github.com/tenodi/permission.git"},"bugs":{"url":"https://github.com/tenodi/permission/issues"},"peerDependencies":{"express":"4.x","passport":"0.x","flash":"1.x"},"gitHead":"30e6602664f014d2c5366781af6c4df51fc172ba","homepage":"https://github.com/tenodi/permission#readme","_id":"permission@1.0.1","_shasum":"094368b5cd9fb528b7d991b699ca52728839f224","_from":".","_npmVersion":"3.3.6","_nodeVersion":"4.1.1","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"094368b5cd9fb528b7d991b699ca52728839f224","tarball":"https://registry.npmjs.org/permission/-/permission-1.0.1.tgz","integrity":"sha512-MTf9Le2IcEdiqIn76JXeXHc0L1egubWrUIHyrUAmHDw8gQFvu72+2bULp/Aa0/MiYjIAZtemEnvFXcIl5FcSUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBp7+/0WCl9chEdJGI1nnhJ71KBKbvBrKNpHuNz3/XQ7AiBdkA4oTUz3o+aIpTo/tn4io+xfL8tqYek5vcuFVYQs6w=="}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"1.0.2":{"name":"permission","version":"1.0.2","description":"Handle user permissions for routes based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["ACL","access","control","list","permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"contributors":[{"name":"Lubert Theo","email":"theo.lubert@gmail.com"}],"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"repository":{"type":"git","url":"git+https://github.com/tenodi/permission.git"},"bugs":{"url":"https://github.com/tenodi/permission/issues"},"peerDependencies":{"express":"4.x","passport":"0.x","flash":"1.x"},"gitHead":"519574d6036aa254b100764a6e98d0cf38f83dbe","homepage":"https://github.com/tenodi/permission#readme","_id":"permission@1.0.2","_shasum":"45573908807b11b59ac4ef529e7916c0675b2a30","_from":".","_npmVersion":"3.3.6","_nodeVersion":"4.1.1","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"45573908807b11b59ac4ef529e7916c0675b2a30","tarball":"https://registry.npmjs.org/permission/-/permission-1.0.2.tgz","integrity":"sha512-haWWNj2NNfqU6vPHCCAadfh4ZWbI/Hl3jM3RPyJcUN5Y4qbw0a/SLIYUPtx22rt5Zy43bv4KmgJ+BioQE8K5Kg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4sqfcuwNLtMreT5w51q/bltWKO5CuO1Q4jcltn0Z2HQIgFEvccWrXkGcfcW5bgAYB13PvoWcU1lwwLKhu1C9X7oE="}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"1.0.3":{"name":"permission","version":"1.0.3","description":"Handle user permissions for routes based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["ACL","access","control","list","permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"contributors":[{"name":"Lubert Theo","email":"theo.lubert@gmail.com"}],"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"repository":{"type":"git","url":"git+https://github.com/tenodi/permission.git"},"bugs":{"url":"https://github.com/tenodi/permission/issues"},"peerDependencies":{"express":"4.x","passport":"0.x","connect-flash":"0.x"},"gitHead":"46e03199802e1d5b3631e25c16aafa704fa9b17d","homepage":"https://github.com/tenodi/permission#readme","_id":"permission@1.0.3","_shasum":"1c5b72587d66504b2a66950f38e391e7418bdab1","_from":".","_npmVersion":"3.3.6","_nodeVersion":"4.1.1","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"1c5b72587d66504b2a66950f38e391e7418bdab1","tarball":"https://registry.npmjs.org/permission/-/permission-1.0.3.tgz","integrity":"sha512-32FHpBkVBo+diAokBmucIXIIb2E4lWU04TeSyRbZlOeNyELzKSKvYWZ1fhaLxTstIRXQzM/iTg1d/8QQK2m11Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHcYbDIYSklWF+sJazyBr2gZeOgCq5iKy8X7VSIwjI68AiB9CqsdxH1wcuMKyvBE+H+x1wW5qnsz1H/zDGRtNSgPcA=="}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"directories":{}},"1.0.4":{"name":"permission","version":"1.0.4","description":"Handle user permissions for routes based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["ACL","access","control","list","permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"contributors":[{"name":"Lubert Theo","email":"theo.lubert@gmail.com"}],"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"repository":{"type":"git","url":"git+https://github.com/tenodi/permission.git"},"bugs":{"url":"https://github.com/tenodi/permission/issues"},"peerDependencies":{"express":"4.x","passport":"0.x","connect-flash":"0.x"},"gitHead":"46e03199802e1d5b3631e25c16aafa704fa9b17d","homepage":"https://github.com/tenodi/permission#readme","_id":"permission@1.0.4","_shasum":"780cd3af7bacb80925ca777c9d62e1681b25eb99","_from":".","_npmVersion":"3.4.0","_nodeVersion":"4.1.1","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"shasum":"780cd3af7bacb80925ca777c9d62e1681b25eb99","tarball":"https://registry.npmjs.org/permission/-/permission-1.0.4.tgz","integrity":"sha512-e5o3ZktndcEaRCyE//86jcckOqhpkcxD0e49/bVWUXEKG+1CXFoyVLDUDNsNvgj5YCOFYAOTnLYRDuasVckFyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6YgX47HGc2kpmluMdqfH4A5FBx1NxWh0mUEnDRFkCowIhAKayDjNCTnOIEFQaCmkENZEWY4t9+z1f6HrvwMCP0OZf"}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/permission-1.0.4.tgz_1455933299281_0.3729575506877154"},"directories":{}},"1.1.0":{"name":"permission","version":"1.1.0","description":"Handle user permissions for routes based on roles.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["ACL","access","control","list","permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"contributors":[{"name":"Lubert Theo","email":"theo.lubert@gmail.com"}],"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"repository":{"type":"git","url":"git+https://github.com/tenodi/permission.git"},"bugs":{"url":"https://github.com/tenodi/permission/issues"},"peerDependencies":{"express":"4.x","passport":"0.x","connect-flash":"0.x"},"gitHead":"c9e7cd33decbdcbe492380f2b200de7f967ec100","homepage":"https://github.com/tenodi/permission#readme","_id":"permission@1.1.0","_npmVersion":"5.4.2","_nodeVersion":"6.2.2","_npmUser":{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"},"dist":{"integrity":"sha512-H85PLLGPyfz9WfLhORiL+pisjZAG7vOkLYYMnfvoT3BWBTic7HDIOkqRW8vWHwq3VVJdS2RkUCkssF9RovlipA==","shasum":"b94428bc5e38cc9f7466f8592247be14deb35d90","tarball":"https://registry.npmjs.org/permission/-/permission-1.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDYPepAwdlE3SxQGHweC6BlQQrxwLzp1QiCrPZBati6aAiB87s5QTdHZ4JvvR8U6ftyo8Ox8QZ13hwr4PF42VGU0/A=="}]},"maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/permission-1.1.0.tgz_1507667287109_0.9787178542464972"},"directories":{}}},"readme":"Permission is [Express](http://expressjs.com/) & [Passport](http://passportjs.org/)-compatible authorization\nmiddleware for [Node.js](http://nodejs.org/). It provides customizable management of access control list (ACL).\n\n## Install\n\n    $ npm install --save permission\n\n\n## Usage\n\n#### Fast start\nIt is as simple as `require('permission')`, because you do want to _require permission_, don't you? Don't mess your model nor view with control-specific logic. Pass middleware determing which roles user needs to have!\n``` js\nrouter.get('/', require('permission')(['admin']), function(req, res) {\n    res.render('stats');\n})\n```\n\nPass an array determining which roles one controller supports. \nPass an empty array to ensure nobody has access, even when authenticated. \nLeave empty if you want to allow any role to be authorized, but still to be authenticated (signed in).\n\n``` js\nrouter.get('/', require('permission')(), function(req, res) {\n    res.render('profile');\n})\n```\n\nFill out array with more roles, if needed.\n``` js\nrouter.get('/', require('permission')(['admin', 'user']), function(req, res) {\n    res.render('schools');\n})\n```\n\n#### Advantage start\nThere are _permission_ options some of which you'll most likely want to customize. You can do so by setting _permission_ name in Express' _app_ object:\n``` js\napp.set('permission', {role: 'myRole'});\n```\nIt is optional to customize any option, but when done so, customized option needs to follow its interface. \nHere you can find listed all the properties that you may customize:\n\n**role**\nDefines property name for Express' user. Defaults to ```role```.\n\n**notAuthenticated**\nDefines what to do with non-authenticated user. Both ```notAuthenticated``` and ```notAuthorized``` (see below) implement the same interface. This interface consists of 4 properties:\n\n- ```flashType``` {string}: type of the [Flash](https://www.npmjs.com/package/connect-flash) message\n- ```message``` {string}: flash message\n- ```redirect``` {string}: URL or path for [Express](https://www.npmjs.com/package/express) redirection\n- ```status``` {number}: HTTP status for response\n\nNot all the properties are needed to be present at the same time. See [control flow](https://www.npmjs.com/package/permission#control-flow) for more information.\n\nOnly ```status``` property of ```notAuthenticated``` is set by default to value ```401```.\n\n**notAuthorized**\nDefines what to do with non-authorized user. Shares the same interface with ```notAuthenticated```. \nOnly ```status``` property of ```notAuthorized``` is set by default to value ```403```.\n\n**after**\nDefines custom callback function to be called upon determining the state of user authentication/authorization. This is the function's skeleton:\n\n``` js\nfunction(req, res, next, authorizedStatus){}\n```\nArguments ```req```, ```res``` and ```next``` are Express objects, while ```authorizedStatus``` refers to one of the following values:\n\n- ```authorized``` : user has been successfully authorized\n- ```notAuthenticated``` : user has failed to authenticate.\n- ```notAuthorized``` : user has been successfully authenticated, but failed to authorize.\n\nThis allows you to organise logic based on authorized status of the user.\nYou can access these constants with:\n``` js\nvar p = require('permission')\np.AUTHORIZED === 'authorized' // true\np.NOT_AUTHENTICATED === 'notAuthenticated' // true\np.NOT_AUTHORIZED === 'notAuthorized' // true\n```\n\n#### Control flow\nIt is noted that you don't need to customize any _permission_ option. But, if you want to, not all of them are needed. This section explains the control flow:\n\nAfter _permission_ has determined user's authorized status, it:\n\n1. calls ```after``` and passes it ```authorizedStatus```\n2. if ```after``` is not provided, calls Express ```res.redirect()``` with ```redirect``` value and sets Flash message\n3. if ```redirect``` of specific state is not provided, calls Express ```res.status()``` with ```status```.\n\n#### Example\nThis example shows how _permission_ options can be used: we want to redirect user with message if he fails to authenticate and send ```HTTP status 403``` if he fails to authorize.\n``` js\nvar notAuthenticated = {\n\tflashType: 'error',\n\tmessage: 'The entered credentials are incorrect',\n\tredirect: '/login'\n};\n\napp.set('permission', {\n\trole: 'userRole',\n\tnotAuthenticated: notAuthenticated \n});\n```\nNot that we used defaults ```HTTP status``` for authorization fail. \n\n\n## Contribution\nIf you want to suggest something, make a pull request or contribute in any other form, you're welcome to do so @ GitHub's [repository](https://github.com/ttenodi/permission).","maintainers":[{"name":"tomislavtenodi","email":"tomislav.tenodi@gmail.com"}],"time":{"modified":"2022-09-02T14:37:01.815Z","created":"2015-04-17T15:36:30.901Z","0.1.0":"2015-04-17T15:36:30.901Z","0.1.1":"2015-04-17T15:37:40.325Z","0.1.2":"2015-04-17T15:38:30.255Z","0.1.3":"2015-04-17T16:19:52.811Z","0.1.4":"2015-04-18T01:33:06.493Z","0.1.5":"2015-04-18T11:25:55.842Z","0.1.6":"2015-05-12T09:46:16.394Z","1.0.0":"2015-10-17T16:09:15.496Z","1.0.1":"2015-10-17T16:12:05.272Z","1.0.2":"2015-10-17T16:23:08.050Z","1.0.3":"2015-10-17T16:31:01.666Z","1.0.4":"2016-02-20T01:55:04.648Z","1.1.0":"2017-10-10T20:28:08.201Z"},"keywords":["ACL","access","control","list","permission","role","permissions","access","auth","authorization","passport","express","authentication"],"author":{"name":"Tomislav Tenodi","email":"tomislav.tenodi@gmail.com"},"readmeFilename":"README.md","users":{"afewinterestingthings":true,"likebc":true,"rexfordkelly":true,"dehamzah":true,"nisimjoseph":true,"sujeet555":true},"homepage":"https://github.com/tenodi/permission#readme","repository":{"type":"git","url":"git+https://github.com/tenodi/permission.git"},"bugs":{"url":"https://github.com/tenodi/permission/issues"},"contributors":[{"name":"Lubert Theo","email":"theo.lubert@gmail.com"}]}