{"_id":"express-user-local","_rev":"64-5dbd346018560a2ef9f477a6e0a3124c","name":"express-user-local","description":"Validator for a local session based authentication scheme for express-user.","dist-tags":{"latest":"1.2.1"},"versions":{"0.0.0":{"name":"express-user-local","version":"0.0.0","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"express":"~4.10.6","regex-email":"~1.0.1"},"devDependencies":{"nimble":"0.0.2","nodeunit":"~0.9.0","express-session":"~1.9.3","express-session-mongodb":"~1.3.1","user-store":"~1.0.1"},"license":"MIT","directories":{"test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_id":"express-user-local@0.0.0","dist":{"shasum":"16d9ed86aca2c04f1b37db8a531a0d759c9d01c6","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.0.tgz","integrity":"sha512-FabrboUFq25b3fANOGzziv5OdP7Ro+ckqjrmi7i3quIn85L+U0/YAij6EktJ2WetzsM2fCCnxKxi9RjoYwhMHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD79T/6Ftk8SrdUvPMoT47QxPixx9QMxWrU+V2opnZrAQIhAKrFsJyME0OCFG/2+jT4ObQZNtNwaXfDeLTgHS8SHpVh"}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.1":{"name":"express-user-local","version":"0.0.1-alpha.1","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"express":"~4.10.6","regex-email":"~1.0.1"},"devDependencies":{"nimble":"0.0.2","nodeunit":"~0.9.0","express-session":"~1.9.3","express-session-mongodb":"~1.3.1","user-store":"~1.0.1"},"license":"MIT","directories":{"test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_id":"express-user-local@0.0.1-alpha.1","dist":{"shasum":"447c391960a8a110e592280c8f300126ab13ae6c","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.1.tgz","integrity":"sha512-bfo/LhRNzEUbJSrAOMjKh6pq1QHS7yuhoutbpe0fOb6CSTtGVWQsd5IQSiIu1HT1MUa0/4yBPFRBDKLQn95J3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8IGI5m0UN00E8GyZpZSnqzASELUiB7w7LvoobCb2u5QIhAK4m5nWUw/QZg/pxUzpze6q7TSaPJaBcKgXDNvhPJjlQ"}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.2":{"name":"express-user-local","version":"0.0.1-alpha.2","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"express":"~4.10.6","regex-email":"~1.0.1","express-access-control":"~1.0.0"},"devDependencies":{},"license":"MIT","directories":{"test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_id":"express-user-local@0.0.1-alpha.2","dist":{"shasum":"bda9215d5433e49e59826d2cf9051c175c8bef3e","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.2.tgz","integrity":"sha512-IE1IwlZCcMeW8i78q3koWPTd5cwTmkR40F2P/EbszV3gDsMIffAJofFZBU7zyVye3fJnueXQ8whLmnfh4u12Tw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDn05e5RoTOinbd+jjORO7a+W7n6ei8lLLrXITapcJsbAIhANtRdPsEUwHhbwqz7hahM6aUuBlImE/RDpP0Vn301IgH"}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.3":{"name":"express-user-local","version":"0.0.1-alpha.3","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"express":"~4.10.6","regex-email":"~1.0.1","express-access-control":"~1.0.0"},"devDependencies":{},"license":"MIT","directories":{"test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_id":"express-user-local@0.0.1-alpha.3","dist":{"shasum":"74b3dc2b889283d8b6cdc0fff5cd3d3ec3ba3218","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.3.tgz","integrity":"sha512-7gJtRu0oqfmAW08EWqRCt7Kcy13LEgWSp2HtT/dxd05nJr49mOV6Ebti1UlNf1QZLJLKY9hy2MrG2+K8uK7UBw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4fCUnv+GRVAjIM0b9tDHo2iKcam3+tyrHkuryIAXfHAIgfX7BO4YP5tKH8H38clf6ejR6Fx+N0wqU+//A2kiCMog="}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.4":{"name":"express-user-local","version":"0.0.1-alpha.4","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"express":"~4.10.6","regex-email":"~1.0.1","express-access-control":"~1.0.0"},"devDependencies":{},"license":"MIT","directories":{"test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_id":"express-user-local@0.0.1-alpha.4","dist":{"shasum":"8ea9ec1cba0d956871c5e04ec4ed47c605d51f91","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.4.tgz","integrity":"sha512-NL6b9q+Ra2BZGXRLOZDkWnb1mIzDOAz7tm+zwrClrj7LHOua4+nRtsc80OPSMvkEcPuuvglaEwtY1sohdCGwTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfUti9P0XuefNabuJr8yPE8SyIf0XDetZL78qqJONScQIgN6QoGuW4JUoai6dXqtqR3Aw0mo3o8NeLcr6ODj56eic="}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.5":{"name":"express-user-local","version":"0.0.1-alpha.5","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"express":"~4.10.6","regex-email":"~1.0.1","express-access-control":"~1.0.0","user-properties":"~1.2.0"},"devDependencies":{},"license":"MIT","directories":{"test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_id":"express-user-local@0.0.1-alpha.5","dist":{"shasum":"1b6d75327465d6ba4b0f054a24d158886abc1f38","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.5.tgz","integrity":"sha512-zR2Lwz8b9DZ2p4p8xks4DuLYgeVWUj9KTE0ShxWIpAOSySGchQDQk3pniV4kkXY/nn7KeWPVj0p0NSTHVtcSYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICdH6bOdFt5/UV8ZtZugPt3dggPnEGuDN5ieIfTwGhw9AiBAmqgQkb0JwgLuvNqG/S99/8Ce9nYRIDmzBXoXWn4orQ=="}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.6":{"name":"express-user-local","version":"0.0.1-alpha.6","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"express":"~4.10.6","regex-email":"~1.0.1","express-access-control":"~1.0.0","user-properties":"~1.2.0"},"devDependencies":{},"license":"MIT","directories":{"test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_id":"express-user-local@0.0.1-alpha.6","dist":{"shasum":"51bae97022bdea9bbbac5b0d6d3684e1e67afb67","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.6.tgz","integrity":"sha512-WxFCMDH3sXuJv7Bc+HBAioSdlMqhjB4n1ZrcjVXMZstNSjrSMzbBvnbPfum5XlnYoimj/tj67Y75Xuyic/zMGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEIqdwtjs83GFxhSALO/8WM4a2QNKYVISuMBB6cZTxBiAiBSRhYVyOJwMZA/e1yFmGiJjUMQrg/XNrlXbYZ8SC4Jqw=="}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.7":{"name":"express-user-local","version":"0.0.1-alpha.7","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"express":"~4.10.6","regex-email":"~1.0.1","express-access-control":"~1.0.0","user-properties":"~1.2.0"},"devDependencies":{},"license":"MIT","directories":{"test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_id":"express-user-local@0.0.1-alpha.7","dist":{"shasum":"c307d40db61efaefc6baba1fc27a434ff0993e05","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.7.tgz","integrity":"sha512-0usP9jQg5Agmg6ndp8U3LESwjx3n0z65NDwU6w72dREk6URNXJ9Swyrm5NV1PF7F/dPUzEHOuP+y+NF4SirbBA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxoLkr38CxjhMpFfAwYSMDVSq4bVXpIoQ3X+5dNnpzSQIhAPtDW6L8RX5IN1Z3lPX1vkIyyJhAF5ulkUmSb6V8B6Kt"}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.8":{"name":"express-user-local","version":"0.0.1-alpha.8","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":"~1.0.0","user-properties":"~1.2.0"},"devDependencies":{"nimble":"0.0.2","nodeunit":"~0.9.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","user-store":"~1.2.0","body-parser":"~1.10.2","mongodb":"~1.4.30","express-user":"0.0.1-alpha.10","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","csurf":"~1.7.0","ejs":"~2.2.4"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_id":"express-user-local@0.0.1-alpha.8","dist":{"shasum":"10e83747f17e0f0fa057800004fba2631b6d4404","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.8.tgz","integrity":"sha512-HcI5cDGboXvDQCM87Lvjh1cd0MFwUBE87M7jfEqrw0fC7jw7UCQmDAJK+H7gLEPJlvmftBLV8Ienyr0eorelDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbs3VtyNXrR/76F/bwmq6XrEYRhq4o26j+P8Cr9c1BogIhAI1/E7ff0fCW3qcDqHnSgGMTOc/Y726gGonzABlk3Fty"}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.9":{"name":"express-user-local","version":"0.0.1-alpha.9","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":"~1.0.0","user-properties":"~2.0.0","uid-safe":"~1.1.0"},"devDependencies":{"nimble":"0.0.2","nodeunit":"~0.9.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","user-store":"~1.2.0","body-parser":"~1.10.2","mongodb":"~1.4.30","express-user":"0.0.1-alpha.13","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","csurf":"~1.7.0","ejs":"~2.2.4"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_id":"express-user-local@0.0.1-alpha.9","dist":{"shasum":"9ecbde913cda28ae4ed3ef53dc414f73ad99bde9","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.9.tgz","integrity":"sha512-o8ocVvOBCCd44g+YcvnlafKMXi00YPjZhCzg26vNN6DLIGq6hWIpf778xRmzg9kVzLHBnEcLTODZgxi2RsBhnQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGwsCk53Lwd41xWx2qDfAmBT1l0LwAMjU9oXEYwL41ZrAiBYhdcpd5Hyr+Vqtzp0ff28homXot/jpOOrx09bcGN+uw=="}]},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.10":{"name":"express-user-local","version":"0.0.1-alpha.10","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":"~1.0.0","user-properties":"~3.1.0","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"0.0.1-alpha.14","express-user-local-basic":"0.0.1-alpha.1","mongodb":"~1.4.30","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~1.2.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"gitHead":"6cf448787fc1c8aa76795a447428de7e485ad90f","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.10","_shasum":"98632c0ef27c4148b7a2d788cf670a4fedf5c8bd","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"98632c0ef27c4148b7a2d788cf670a4fedf5c8bd","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.10.tgz","integrity":"sha512-O/lOIixGYSr+EaW9laCb6cgmpWV3mi7GDgINV3MxS/Kjc3zTyCrI+wUyuc6LH/iy/Q0s1uwlUDbidrAWOD8Zzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDA03zDzr4ajmlQfL33/qJcLx4nIiWbNhjYYIPJ21zG4AIhAMbAdt/O+WijOgUVnjLKzFmdYZv1buVDdB6HQDjivQQ7"}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.11":{"name":"express-user-local","version":"0.0.1-alpha.11","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":"~1.0.0","user-properties":"~3.1.0","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"0.0.1-alpha.14","express-user-local-basic":"0.0.1-alpha.1","mongodb":"~1.4.30","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~1.2.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"gitHead":"843659ac926dada3dfc2802e23721d9345283cc6","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.11","_shasum":"fe8e4f0743807f440f495a177fb4126323ccb59a","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"fe8e4f0743807f440f495a177fb4126323ccb59a","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.11.tgz","integrity":"sha512-Xg64Fo7KravoXVxlAWMzRJoJWXAScB1GeX/0auX74I2gkXskpCHycYGcrpk9FQcJxWIOlxNwmDrLKK9t9H1ckw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5/h4tfEW8sAyipVR0QYCYTRx9LwFgLPAIBoKYqJi+QQIhAK1e2BytwFwrf5g6c2tswMcqi1RwElmuAGZ3Y8ZnuaN8"}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.12":{"name":"express-user-local","version":"0.0.1-alpha.12","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":"~1.0.0","user-properties":"~3.1.0","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"0.0.1-alpha.15","express-user-local-basic":"0.0.1-alpha.2","mongodb":"~1.4.30","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~1.2.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"gitHead":"d74602440129300655f03d864964ff2d55cad766","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.12","_shasum":"cef070fde60b23ce3555dc9754be47effef1960c","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"cef070fde60b23ce3555dc9754be47effef1960c","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.12.tgz","integrity":"sha512-TcGEo8V/w0J7Py4c7ASv8EkGZYRMQNJnU7yTcF4WDDYrBLpKxnhfI2vkrWx7bV62o9CA1r2fQjEuUaPnvM15fw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCquBgk8PNW9+PyvScJ7BekosPCHzdPsF1qDtpkcCi5JgIhAM9ak3fNyjhlvhqUNbQCuRln8KO57NhIie5YdhF2v6Sv"}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.13":{"name":"express-user-local","version":"0.0.1-alpha.13","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":"~2.0.0","user-properties":"~3.1.0","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"1.0.0","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.30","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~1.3.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"gitHead":"fcdd960fae1e733d9187c689827605ef42e8c7ec","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.13","_shasum":"decd2fffc1ddbef319a70bbb47c3e6b9fedfd238","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{},"dist":{"shasum":"decd2fffc1ddbef319a70bbb47c3e6b9fedfd238","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.13.tgz","integrity":"sha512-N3UIkgLPbyqwYN8WP8zx5Vf8FvgFfrw3uf1gYVdVdeU8WXju0Fhsj765P8/ZWwhZjvdpHm7LcoBVQxH2AjQWjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC56hGIQ8Hb1vnJthhoOUulZTiM7D50ZWSzltJYzzg1cgIgTWgNCwwdavhRwpuNDKE3y+JXtaZmAqs4hXjJcp2HApo="}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.14":{"name":"express-user-local","version":"0.0.1-alpha.14","description":"Basic validator for a username/email/password authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":"~2.0.0","user-properties":"~3.1.0","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"1.0.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.30","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~1.3.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"gitHead":"072c6c1199d1c94ceb7c550c91ce9b8dd7edefb0","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.14","_shasum":"81b10811c02f8a0cc8f09f565e333fe53aa2084c","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{},"dist":{"shasum":"81b10811c02f8a0cc8f09f565e333fe53aa2084c","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.14.tgz","integrity":"sha512-LqbKuDNyqkZ3Kax03ZV5iBwAgjTYOt5HO7Stl1puycEYkXnbr4AAoVSQSrJI4TelV9ODMSSgyggba6Ood4EkxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqG0K9V9jvn02leEV/LhxQLQbz7w4YjzSPlDxfRXLguQIgZFfgebbdpI+Ci35lT0ZjUcQKXJBeK40ogJVqIquMRD4="}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.15":{"name":"express-user-local","version":"0.0.1-alpha.15","description":"Basic validator for a local authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.3.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.0.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","regex-email":"^1.0.2","user-store":"~2.0.2"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"350d1d6e2aaec56ba2a1e1f3d7af3b6203f888c4","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.15","_shasum":"60bff3f8c77beb076a6fb31160aedb4347316e9e","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"60bff3f8c77beb076a6fb31160aedb4347316e9e","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.15.tgz","integrity":"sha512-Tl7FkouiFrwXZXor8e8wTpTzSmExEXW52mIOvUXfINNAKr9UkXZoMMfovA1XKa/VsEF9PG9RU1Dg8DLBrT3OYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDmyxK0X+4+sU5s8UNcOthpq4sZ9ea6B243ldM3BrnVPAiAFn6Tk6fz358BOKCDn2osBCGUmGAxvOW1RYBN0vM/06Q=="}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.16":{"name":"express-user-local","version":"0.0.1-alpha.16","description":"Basic validator for a local authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.3.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.0.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","regex-email":"^1.0.2","user-store":"~2.0.2"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"d8b5e71da9f096ddd8356471a43272394927c161","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.16","_shasum":"98d254d2a8dda6d9b1b3d8b16e05015134501522","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"98d254d2a8dda6d9b1b3d8b16e05015134501522","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.16.tgz","integrity":"sha512-KtUyuwddUIZTxUHRBzMM5c+IdDELejRe0J1+/KX3r5SViB4m0LiyDr+Vx8/y0saz2mJlMEArMo0jFgaYzS4Lzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCH7CUw00KAtbiYx5gVYHz7uNBnhG56bdn8fucSHmeh0AIhAISqW2fnrTAi8UlL1kHyhXDQqrp08t1dDN42Hdw5oAg6"}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.17":{"name":"express-user-local","version":"0.0.1-alpha.17","description":"Basic validator for a local authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.3.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.0.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","regex-email":"^1.0.2","user-store":"~2.0.2"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"e56e2026a128369098a556ae5053506c807c0c82","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.17","_shasum":"e5e7362ab8485fdff26dcf7ce1cae872f9448ea4","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"e5e7362ab8485fdff26dcf7ce1cae872f9448ea4","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.17.tgz","integrity":"sha512-rL474mwFzahpYdfRu2mzKI7r3vuF1V6N8CUJKwuEl4aCcrouKVrhj5amHpNjxa+aYd5DiNiHMN4zf+SWITaOpQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDffm91eZQ48dJmQGT9cHFp+r5zK5FRi4qBDnS7ZZzedQIhAIZK/ozYM7vI6g+x53rkQZhaA+Kh01fcQ7BgerX+6rri"}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.18":{"name":"express-user-local","version":"0.0.1-alpha.18","description":"Basic validator for a local authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"~1.0.1","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.3.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.0.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","regex-email":"^1.0.2","user-store":"~2.0.2"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"02a0ed486a78d579b964a9225e6e0e1b6fdb4f6f","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.18","_shasum":"a4dfdcab7f1f12fe0d277419e50d10d4cdbec066","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"a4dfdcab7f1f12fe0d277419e50d10d4cdbec066","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.18.tgz","integrity":"sha512-mW1ga8m7krJhdZ7UO6BqJOE7vlWcvgdLW5yklHJr55Ul4GTmLDIph4NKj8h6LiwGEtfz9iavtj0sxI2sXE7QqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEiiCQhnkD9H47LTPlKH9s5NKtBMabwiAvBBnjdZsOoYAiBu71eI/ZeZxFoJYR7q+rfSh+dB/8IAFFiE2ay+FLCfLQ=="}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.19":{"name":"express-user-local","version":"0.0.1-alpha.19","description":"Basic validator for a local authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"^1.0.2","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.4.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.1.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~2.1.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"ce4dc55676e35b93e51ae556ad7cd008fe48b998","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.19","_shasum":"9cfb578ed2144ff844a1301b7849cd886e55151e","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"9cfb578ed2144ff844a1301b7849cd886e55151e","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.19.tgz","integrity":"sha512-dPMH9i2ZDmHKDaszpRPaIjCZnbpQIYg0jziXKP7hRJjbu7BCmJzI8raE+ajW6zKZIZDsErgE2htFxUYvLNf2qA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFgSQaKxkOw3n+LgKN+yUcAoXrIlieUapR7SxjA9PSuIAiAf8LWhybasncZX6RTCAikmEehAlDcB2Of5wXT4MeQByw=="}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"0.0.1-alpha.20":{"name":"express-user-local","version":"0.0.1-alpha.20","description":"Basic validator for a local authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"^1.0.2","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.4.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.1.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~2.3.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"f4fe95f2ec7a9b58b79503e823e4b076670d427f","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@0.0.1-alpha.20","_shasum":"262191fc0aea671aeab99190852d3852af695035","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"262191fc0aea671aeab99190852d3852af695035","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-0.0.1-alpha.20.tgz","integrity":"sha512-E6UIY25qvrbw0RDP6QYa74HCfS0VE1EQnUFLw3DUYxNQ75A9ViIlfJXJKgVonyOKAY4U9TjiykCp0hVq8wITgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE9lqbj6SOAPtfGxiN5sgJ9vnN5bOpZ1yIrAS3XBw6xEAiEAsdoujercKP1cTtcgE0qsqwyF7dd2m4Jrz0R8E0l4Yjs="}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"1.0.0":{"name":"express-user-local","version":"1.0.0","description":"Validator for a local session based authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"^1.0.2","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.4.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.1.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~2.3.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"d5e432c55443651366f1a4344fb2d719a48677dd","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@1.0.0","_shasum":"1124f727ee11a2ef632e975409fd43f5e6730436","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"1124f727ee11a2ef632e975409fd43f5e6730436","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-1.0.0.tgz","integrity":"sha512-SQMUpB4IcaUhkBCr/tvfg3Hn9Lvy9R3y/7gL0Ssku5Kf4WKMRbx+qAvt41cO3sR31EokW2Ypqp54xsT2i69m0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTFbwEcq4nncFwycLuzIWQBh6RcwOOS9kIBPWAwP0dYwIgeXN5bsRmJ9iLTuW5e9w+zp88d3awwJwZtK+epW6nsYM="}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"1.0.1":{"name":"express-user-local","version":"1.0.1","description":"Validator for a local session based authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"^1.0.2","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.4.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.1.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~2.3.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"7d05682406a5e9c696d54a3caf6cc2029a90b829","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@1.0.1","_shasum":"5008cf70e3cd401df7a8df462e4e78eeabe1dbfb","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"5008cf70e3cd401df7a8df462e4e78eeabe1dbfb","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-1.0.1.tgz","integrity":"sha512-adRY7jIeA7sLK3DhIWBE1ILUU3D7vSrI7EOMMO3FWfD8Ea8vOxG4ij1kuDZc5WTkXSG6grjL1oCehlxqFr7nxg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtCgEKmBh6OnYVw1OH9K1tMqnlOqEhqQTInm+xFBRi6wIhAOwwOpMm1nuEguJQq7IEifl+ObhHSXyB+70uknz/izGJ"}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"1.0.2":{"name":"express-user-local","version":"1.0.2","description":"Validator for a local session based authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"^1.0.2","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.4.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.1.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~2.3.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"93fae7e0d0fd0023beafed1b79ac9f4684fa4f4a","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@1.0.2","_shasum":"70a4e1fc10da4df3d70a38f9ea9c5b919ddeca87","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"70a4e1fc10da4df3d70a38f9ea9c5b919ddeca87","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-1.0.2.tgz","integrity":"sha512-xe9b9/ntJZwKmBA1P2q+VB1WAeKAbuj1M/WMnnTTt9K0ISUpjZwGCXR349NOGMyJOYrsD4iIRhT93NddRb8OWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNSG5obAsCo9iZfnKVYDu0yW5hfrEULm07dMFMMa094gIgb9DAAlYQnqxA1kPk97nInkTPldB1IP+Ph1cQUVbUz50="}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"1.1.0":{"name":"express-user-local","version":"1.1.0","description":"Validator for a local session based authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"^1.0.2","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.4.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.1.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~2.3.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"c72f491304ea8a27ba4c66c7d41b8d5732c8d79f","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@1.1.0","_shasum":"d4077f813ef79a2b78cc58cceb91637693938fc3","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"d4077f813ef79a2b78cc58cceb91637693938fc3","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-1.1.0.tgz","integrity":"sha512-y8xKza242XnxmF0eET7SmYXkl4TF5VLYEoUM79LpBj64rPnPmx91rtllJLx+xV+WzA7KoWpRD3+iU8dYFAb+Ug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGAOVIbvXarIL/+WYsKXbKeP3mhe1SUPcwIJVb96m5Y7AiBkMIOWQlRJsr0n1XwFlRWBspPkXuDmsPKbZ1eeN/OtXA=="}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"1.1.1":{"name":"express-user-local","version":"1.1.1","description":"Validator for a local session based authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"^1.0.2","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.4.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.1.1","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~2.3.0"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"e44fddd9223838fea83ffde4b03b87581a226300","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@1.1.1","_shasum":"58dd438aba0cb8cfd6f09d8e44c0de32fc95f984","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"58dd438aba0cb8cfd6f09d8e44c0de32fc95f984","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-1.1.1.tgz","integrity":"sha512-6NAGbSd9ucf/tzULKxx9NdI7r4Iy+wugsOKwMAE7c6zlB9M8L5kTKbB7knpwiestQM8u5VB3eSHSd9xf814/tA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCt/Zd7D47HdggJPfSyT7kynO0VqcR/2CaqSdqArgTLTQIhAP9uW54I5J4QKFERwDPtgmOr4fmeO1+/N9yKsccaQOkw"}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"1.2.0":{"name":"express-user-local","version":"1.2.0","description":"Validator for a local session based authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"^1.0.2","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.4.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.2.0","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~2.4.2"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"9f0424560f632895649dd3aebdd2c4d24d4a297e","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@1.2.0","_shasum":"33d79a086bd98a081cd4ec22d0ad1fc91e396f72","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"33d79a086bd98a081cd4ec22d0ad1fc91e396f72","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-1.2.0.tgz","integrity":"sha512-WpGuajWAHhKpXJhLXWeOllJzkxFM4YmW6B0nH5CRmn8KguCWqBnP8mpV238ARA3feNwshOl3mTnVMy6djTT5hA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClyvUemELW56odGnfOYnITPSqCkn4INGj9btPcdshuTwIhAI17GPd51vDMYjuKelos1QXe1jvUDP2teeZVZptCPd++"}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]},"1.2.1":{"name":"express-user-local","version":"1.2.1","description":"Validator for a local session based authentication scheme for express-user.","keywords":["Express","Middleware","express-user","Validation","Local"],"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"main":"./lib/ExpressUserLocal.js","repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"licenses":[{"type":"MIT License","url":"http://mit-license.org/"}],"dependencies":{"regex-email":"^1.0.2","express-access-control":">=2.0.0 <3.x.x","user-properties":">=3.4.0 <4.x.x","uid-safe":"~1.1.0"},"devDependencies":{"body-parser":"~1.10.2","csurf":"~1.7.0","ejs":"~2.2.4","express":"^4.12.3","express-brute":"~0.5.2","express-brute-mongo":"~0.1.0","express-session":"~1.10.1","express-session-mongodb":"~1.3.2","express-user":"~1.2.0","express-user-local-basic":"0.0.1-alpha.3","mongodb":"~1.4.35","nimble":"0.0.2","nodeunit":"~0.9.0","user-store":"~2.4.2"},"license":"MIT","directories":{"example":"example","test":"test"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit test"},"gitHead":"f1680069bad9f7020082e5fa0c3d8a0e668266ad","homepage":"https://github.com/Magnitus-/ExpressUserLocal","_id":"express-user-local@1.2.1","_shasum":"db51d51e54395ea79f25d664747fa71cd3f86076","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.25","_npmUser":{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"},"dist":{"shasum":"db51d51e54395ea79f25d664747fa71cd3f86076","tarball":"https://registry.npmjs.org/express-user-local/-/express-user-local-1.2.1.tgz","integrity":"sha512-jCoydbePmw5A/zApYOyvnD1urP+mD5FVQ73pDwD6if8NvMVLGRIr7ImK0gga/6uxGAGxCJgMnupck9pqPxAHKw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCU2X3Ljz9nQV0bynkdtoKELEHnhxT9Aqs2BmH/FaKm9QIhAMq95l73P3Mt/NmWSTNDPIdWdMbHmSohWIyHTEHZPL5r"}]},"maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}]}},"readme":"Express-User-Local\n==================\n\nModule to validate incoming requests using a local strategy (username, email, password) and a persistent session for the express-user library.\n\nThis is a validator in the validator/store/responder architecture described in the express-user project.\n\nRequirements\n============\n\nBeyond the requirements from the package.json file and those described in the express-user dependency, this project requires:\n\n- A session library: Either express-session or one that behaves just like it.\n- A brute-force routing library like express-brute (if you want to pass a brute force handler to the constructor)\n- A csrf routing library like csurf (if you want to pass a csrf handler to the constructor)\n\nUsage\n=====\n\nOverview\n--------\n\nThis library is callable as a function and which returns a validator which can be passed directly to the express-user library.\n\nThe code would look like this:\n\n```javascript\n\n//Some other requires\nvar ExpressUser = require('express-user');\nvar ExpressUserLocal = require('express-user-local');\n\n//Define options to pass to express-user-local\n//Define the responder as well, more details about that part in final version of express-user-local-basic project\n\nvar Validator = ExpressUserLocal(UserLocalOptions);                                           //More details on available options below\nvar UserRouter = ExpressUser(UserStore, {'Validator': Validator, 'Responder': Responder});    //Generate our main router to pass to Express\nApp.use(ExpressUser.SessionRoute(UserStore, '_id'));                                          //Sync Req.session.User with the user's profile in the database. _id is used as a immutable field that won't change for any user.\nApp.use(UserRouter);                                                                          //Pass our router to express\n```\n\nOptions\n-------\n\nexpress-user-local takes an options object as its sole argument. The belows are the options you can set on the object and their expected format.\n\n- ConnectionSecurity: A function that takes the signature function(req) and returns true if the connection is secure, else false\n\n- Roles: Defines what groups have super-user privileges to view, edit and delete profiles.\n\nIt is an object containing 3 keys: 'Edit', 'Delete' and 'Get'. Each key contains an array of groups (strings) that possess the accompanying privilege (granted by special admin routes described in the architecture).\n\nSetting either the Roles object or some of its keys to null will disable corresponding admin routes.\n\n- EmailRegex: Regular expression that ensures email addresses provided email addresses are well formed if the default user schema is used.\n\n- UsernameRegex: Regular expression that ensures email addresses provided usernames are well formed if the default user schema is used.\n\n- PasswordRegex: Regular expression that ensures email addresses provided passwords are well formed if the default user schema is used.\n\n- BruteForceRoute: An handler to check against brute force attacks which will be applied to the following routes...\n\n```\nPATCH /User/Self\nDELETE /User/Self\nPUT /Session/Self/User\nPUT /User/Self/Memberships/Validated\nPOST /User/:Field/:ID/Recovery/:SetField\nPOST /Users\n```\n\nThe philosophy behing which routes are protected is the following: Prevent an attacker from guessing private/secret fields through trial-and-error \n\n- CsrfRoute: An handler to check for a valid csrf token which will be applied to the following routes...\n\n```\nPATCH /User/:Field/:ID\nDELETE /User/:Field/:ID\nPUT /User/:Field/:ID/Memberships/:Membership\nDELETE /User/:Field/:ID/Memberships/:Membership\nPUT /Session/Self/User\nPUT /User/Self/Memberships/Validated (if email verification is enabled)\nPOST /User/:Field/:ID/Recovery/:SetField\n```\n\nIn short, routes that don't require authentication in the request and perform exploitable actions are protected.\n\n- MinimalCsrf: If set to false, the csrf handler is applied to the following routes as well:\n\n```\nPOST /Users\nPATCH /User/Self\nDELETE /User/Self\nPUT /User/Self/Memberships/Validated\n```\n\n- HideRestricted: If set to true, the library tells the responder to hide sensitive ('Privacy' is secret) or non-accessible ('Access' property is not 'User') fields for the GET /User/Self route.\n\n- EmailField: Tells the libray which field in UserSchema corresponds to the user's email. If email verification is enabled, the library will use this value to determine if the user's email is being changed in the PATCH routes.\n\n- UserSchema: Instance of the user-properties project which tells the library what fields it can expect a user to have and their properties. This argument has a profound impact on the library's behavior and setting the right properties for various user fields is crucial for security purposes.\n\nIn terms of expectations, your UserSchema should at least contains a field suitable for login identification and a field that is suitable for authentification.\n\nA field suitable for login identification is one that is listed in the following (required, unique, not public and accessible either by user or his email): ```UserProperties.ListUnion(UserSchema.ListLogin('User'), UserSchema.ListLogin('Email'))```\n\nA field suitable for authentication is one that is listed in the following (secret, required, accessible by user): ```UserSchema.ListAuth('User')```\n\nDefaults\n--------\n\nOptions have the given default values when they are not defined in the object passed to express-user-local:\n\n- ConnectionSecurity: A function that returns true if the requester's IP is 127.0.0.1 or if req.secure is true\n- Roles: ```{'Edit': ['Admin'], 'Delete': ['Admin'], 'Get': ['Admin']}```\n- EmailRegex: Regular expression provided by the regex-email project\n- UsernameRegex: ```new RegExp(\"^[a-zA-Z][\\\\w\\\\+\\\\-\\\\.]{0,19}$\");```\n- PasswordRegex: ```new RegExp(\"^.{8,20}$\");```\n- BruteForceRoute: null (not brute force handler is applied)\n- CsrfRoute: null (not csrf handler is applied)\n- MinimalCsrf: true\n- HideRestricted: true\n- EmailField: 'Email'\n- UserSchema: \n\n```javascript\nvar UserProperties = require('user-properties');\nvar Uid = require('uid-safe').sync;\n\n//...\n\nvar Verifications ={'Username': Options.UsernameRegex, 'Email': Options.EmailRegex, 'Password': Options.PasswordRegex};\n\n//...\n\n//If Options.UserSchema is not defined, it is assigned this:\nUserProperties({\n    'Username': {\n        'Required': true,\n        'Unique': true,\n        'Mutable': false,\n        'Description': function(Value) {return (typeof(Value)!='undefined')&&Verifications['Username'].test(Value)}\n    },\n    'Email': {\n        'Required': true,\n        'Unique': true,\n        'Privacy': UserProperties.Privacy.Private,\n        'Description': function(Value) {return (typeof(Value)!='undefined')&&Verifications['Email'].test(Value)&&Value.length&&(Value.legth<=80)}\n    },\n    'Password': {\n        'Required': true,\n        'Privacy': UserProperties.Privacy.Secret,\n        'Retrievable': false,\n        'Description': function(Value) {return (typeof(Value)!='undefined')&&Verifications['Password'].test(Value)},\n        'Sources': ['User', 'Auto'],\n        'Generator': function(Callback) {Callback(null, Uid(15));}\n    },\n    'EmailToken': {\n        'Required': true,\n        'Privacy': UserProperties.Privacy.Secret,\n        'Retrievable': false,\n        'Access': 'Email',\n        'Sources': ['Auto'],\n        'Generator': function(Callback) {Callback(null, Uid(20));}\n    }});\n```\n\nEmail Verification\n==================\n\nEmail verification is handled through secret email token generation in this library.\n\nIt will only be enabled is you have a field in your UserSchema that fulfills the following criteria:\n\n```javascript\n//This call returns suitable fields\nfunction GetEmailToken(UserSchema)\n{\n    return UserProperties.ListIntersection(UserProperties.ListIntersection(UserSchema.ListEditable('Email'), UserSchema.ListAuth('Email')), UserSchema.ListGeneratable());\n}\n```\n\nBasically, the field must be secret, generatable automatically, accessible via email, required and mutable.\n\nIf a field that fulfills these criteria is present in your schema, the following will occur:\n\nThe 'PUT /User/Self/Memberships/Validated' route will be defined, allowing users to add 'Validated' to their memberships if they submit their email token in the request\n\nThe 'POST /Users' route will automatically generate an email token for the user, using the generator you defined in your schema.\n\nBoth 'PATCH' routes will generate a new email token for the user and remove his 'Validated' membership if 'EmailField' (the field you defined in the constructor's options as being the user's email) is changed.\n\nAccess Restriction\n==================\n\nAll the '/User/Self' routes require the user to be logged in.\n\nThe following routes require a logged in user with 'Edit' privileges:\n\nPATCH /User/:Field/:ID\nPUT /User/:Field/:ID/Memberships/:Membership\n\nThe following routes require a logged in user with 'Delete' privileges:\n\nDELETE /User/:Field/:ID\nDELETE /User/:Field/:ID/Memberships/:Membership\n\nThe following routes require a logged in user with 'Get' privileges:\n\nGET /User/:Field/:ID\n\nAdditionally, 'Field' in the following route can only be a public field unless the user is logged in with 'Get' privileges:\n\nGET /Users/:Field/:ID/Count\n\nDisabled URLs\n=============\n\nThe following urls are not handled by express-user-local:\n\n- PUT /User/Self/Memberships/:Membership\n- DELETE /User/Self/Memberships/:Membership\n- POST /User/Self/Recovery/:SetField\n\nHowever, the following instance of 'PUT /User/Self/Memberships/:Membership' is enabled if email verification is used:\n\nPUT /User/Self/Memberships/Validated\n\nExpected Input From Request\n===========================\n\nRequest Body\n------------\n\nexpress-user-local expect the request's body to be an object contained in req.body. As such, you'll need a body parser (like the body-parser project) to parse the bodies of requests and store them in req.body.\n\nThe library reads 2 properties in the body object: User and Update (sometimes one, sometimes both, sometimes neither). Both req.body.User and req.body.Update, when present, are expected to be objects.\n\nThe req.body.User object defines user field values that either identifies an existing user or creates a new one.\n\nThe req.body.Update object defines user field values that an existing user will be updated with.\n\nOverall Field Correctness\n-------------------------\n\nexpress-user-local recognizes only on fields defined in the UserSchema passed to the constructor. Any additional fields will be ignored (ie, will be as if those fields weren't present).\n\nAll field values (including those passed in the url) are validated using the 'Validate' method of the UserSchema. Additionally, checks are made against null or undefined for mandatory fields.\n\nAnd finally, field values that are passed in the url will be parsed using the 'Parse' method of the UserSchema before being validated. The default 'Parse' method of user-properties will return the value as-is so it's only necessary to define it for non-string values.\n\nSession Requirement for Self and Admin Routes\n---------------------------------------------\n\nAll routes that require a user to be logged in require a Req.session.User object containing the info of the logged in user to be defined.\n\nThe express-user project provides a special route to define this object and keep it in sync with the user's profile in the database.\n\nPOST /Users\n-----------\n\n- Req.body.User: \n\nThe values for the new user's fields. Fields that are not marked as accessible to users (ie, 'Access' property is 'User') will be ignored.\n\nFields that are required ('Required' property is true) need to be present. \n\nFields that are not required, may or may not be present.\n\nPATCH /User/Self\n----------------\n\n- Req.session.User: Nees to be properly defined.\n\n- Req.body.User:\n\nNeeds to contain a field that authentifies the user ('Acccess' is 'User', 'Privacy' is secret, 'Required' is true) against the user his session points to.\n\nOther fields will be ignored.\n\n- Req.body.Update: \n\nThe values for the fields that are to be updated. Fields that are not user accessible ('Access' is not 'User') or not mutable will be ignored.\n\nDELETE /User/Self\n-----------------\n\n- Req.session.User: Nees to be properly defined.\n\n- Req.body.User:\n\nNeeds to contain a field that authentifies the user ('Acccess' is 'User', 'Privacy' is secret, 'Required' is true) against the user his session points to.\n\nOther fields will be ignored.\n\nGET /User/Self\n--------------\n\n- Req.session.User: Nees to be properly defined.\n\nPUT /Session/Self/User\n----------------------\n\n- Req.body.User:\n\nNeeds to contain a field that authentifies the user ('Acccess' is 'User', 'Privacy' is secret, 'Required' is true) against the user his session points to.\n\nAlso needs to contain a non public field that identifies the user (required and unique and access is either 'User' or 'Email').\n\nOther fields will be ignored.\n\nDELETE /Session/Self/User\n-------------------------\n\n- Req.session.User: Nees to be properly defined.\n\nGET /Users/:Field/:ID/Count\n---------------------------\n\n- Req.session.User: Nees to be properly defined to make use of superuser Get access.\n\n- URL Parameters: For regular access, the 'Field' parameter needs to be public. For superuser Get access, 'Field' can be any field in the UserSchema.\n\nOther fields will be ignored.\n\nPUT /User/Self/Memberships/Validated\n------------------------------------\n\n- Req.session.User: Nees to be properly defined.\n\n- Req.body.User:\n\nNeeds to contain a field that authentifies the user's access to his email (required, secret and 'Access' is 'Email').\n\nOther fields will be ignored.\n\nPOST /User/:Field/:ID/Recovery/:SetField\n----------------------------------------\n\n- Req.session.User: Nees to be properly defined.\n\n- URL Parameters:\n\n'Field' needs to be a non public field that identifies the user (required and unique and access is either 'User' or 'Email'). All other fields will be ignored.\n\n'SetField' needs to be a mutable automatically generatable field ('Auto' needs to be amongst the field's Sources). All other fields will be ignored.\n\nPATCH /User/:Field/:ID\n----------------------\n\n- Req.session.User: Nees to be properly defined. Logged in user needs superuser Edit privileges.\n\n- URL Parameters: 'Field' needs to identify a user (required and unique). All other fields will be ignored.\n\n- Req.body.Update: \n\nThe values for the fields that are to be updated. Fields not defined in UserSchema will be ignored.\n\n\nDELETE /User/:Field/:ID\n-----------------------\n\n- Req.session.User: Nees to be properly defined. Logged in user needs superuser Delete privileges.\n\n- URL Parameters: 'Field' needs to identify a user (required and unique). All other fields will be ignored.\n\nGET /User/:Field/:ID\n--------------------\n\n- Req.session.User: Nees to be properly defined. Logged in user needs superuser Get privileges.\n\n- URL Parameters: 'Field' needs to identify a user (required and unique). All other fields will be ignored.\n\nPUT /User/:Field/:ID/Memberships/:Membership\n--------------------------------------------\n\n- Req.session.User: Nees to be properly defined. Logged in user needs superuser Edit privileges.\n\n- URL Parameters: \n\n'Field' needs to identify a user (required and unique). All other fields will be ignored.\n\nDELETE /User/:Field/:ID/Memberships/:Membership\n-----------------------------------------------\n\n- Req.session.User: Nees to be properly defined. Logged in user needs superuser Delete privileges.\n\n'Field' needs to identify a user (required and unique). All other fields will be ignored.\n\nOutput to Other Components\n==========================\n\nexpress-user\n------------\n\nFor brevity, the error routes and Res.locals.ExpressUser properties set by express-user won't be repeated here.\n\nIt is implied that whenever an error route is not triggered by express-user-local, express-user handles the request after express-user-local.\n\nRead express-user documentation for more details.\n\nErr.Source\n----------\n\nWhenever express-user-local triggers an error (ie, Next(Err)), the error has a source property with the source being \"ExpressUserLocal\".\n\nUnless otherwise noted, Err.Source will be \"ExpressUserLocal\".\n\nPOST /Users\n-----------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the new user with all the fields from Req.body.User that weren't ignored.\n\nAdditionally, if email verification is enabled, the email authentication field will be set with a value returned by its generator from the schema and Res.locals.ExpressUser.Generated will be defined as an array of one element listing the email authentication field.\n\n- Error Behavior (Next(Err) is called)\n\nIf any fields don't pass validation (using the schema's validators) or if any required field is not included, Err.Type will have the value of 'BadField' and Err.Fields will contain all error fields.\n\nIf Req.body.User doesn't exist as an object, Err.Type will have the value of 'BadBody'.\n\nPATCH /User/Self\n----------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying and authentifying the user to update.\n\nThe Res.locals.ExpressUser.Update object is set and contains the fields that are to be updated.\n\nAdditionally, if email verification is enabled, the following will be set if 'EmailField' is among the fields to be updated:\n\nThe Res.locals.ExpressUser.Update object will contain a newly generated value for the email authentication field\n\nRes.locals.ExpressUser.Generated will be defined as an array of one element listing the email authentication field.\n\nRes.locals.ExpressUser.Memberships will be defined and have the value ```{'Remove': 'Validated'}```\n\n- Error Behavior (Next(Err) is called)\n\nIf the user is not logged in, express-access-control will set Err.Source to 'ExpressAccessControl' and Err.Type to 'NoAccess'.\n\nIf the user didn't provide authentication in Req.body.User, Err.Type will have the value of 'NoAuth'.\n\nIf the user provides an authentication field tha doesn't pass schema validation, Err.Type will have the value of 'BadField' and Err.Fields will contain error fields related to authentication.\n\nIf the user doesn't specify any field to update in Req.body.Update (or only ignored fields), Err.Type will have the value of 'NoField'.\n\nIf any field in Req.body.Update doesn't pass schema validation, Err.Type will have the value of 'BadField' and Err.UpdateFields will contain all error fields related to updates.\n\nIf Req.body.User or Req.body.Update don't exist as objects, Err.Type will have the value of 'BadBody'.\n\nNote: Currently, if there is both a validation error in the authentication field and in update fields, only the error in the authentication field will be reported.\n\nDELETE /User/Self\n-----------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying and authentifying the user to delete.\n\n- Error Behavior (Next(Err) is called)\n\nIf the user is not logged in, express-access-control will set Err.Source to 'ExpressAccessControl' and Err.Type to 'NoAccess'.\n\nIf the user didn't provide authentication in Req.body.User, Err.Type will have the value of 'NoAuth'.\n\nIf the user provides an authentication field tha doesn't pass schema validation, Err.Type will have the value of 'BadField' and Err.Fields will contain error fields related to authentication.\n\nIf Req.body.User doesn't exist as an object, Err.Type will have the value of 'BadBody'.\n\nGET /User/Self\n--------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying the user to get.\n\nIf 'HideRestricted' was set to true in the options, the Res.locals.ExpressUser.Hide array will be set and will contain all fields that are secret or not user accessible ('Access' is not 'User').\n\n- Error Behavior (Next(Err) is called)\n\nIf the user is not logged in, express-access-control will set Err.Source to 'ExpressAccessControl' and Err.Type to 'NoAccess'.\n\nPUT /Session/Self/User\n----------------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying and authentifying the user to set in the session.\n\n- Error Behavior (Next(Err) is called)\n\nIf no suitable identification field is provided in Res.locals.ExpressUser.User, Err.Type will have the value of 'NoID'.\n\nIf no suitable authentication field is provided in Res.locals.ExpressUser.User, Err.Type will have the value of 'NoAuth'.\n\nIf any field in Res.locals.ExpressUser.User doesn't pass schema validation, Err.Type will have the value of 'BadField' and Err.Fields will contain error fields related to authentication.\n\nIf Req.body.User doesn't exist as an object, Err.Type will have the value of 'BadBody'.\n\nDELETE /Session/Self/User\n-------------------------\n\n- Normal Behavior\n\nRes.locals.ExpressUser will be set to an empty object.\n\n- Error Behavior (Next(Err) is called)\n\nNone. express-user handles the error if Req.session.User doesn't exist.\n\nGET /Users/:Field/:ID/Count\n---------------------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields describing users to count.\n\n- Error Behavior (Next(Err) is called)\n\nIf 'ID' of 'Field' in the url parameters doesn't pass schema validation, Err.Type will have the value of 'BadField' and Err.Fields will be an array containing the erronous field.\n\nIf 'Field' in the url parameters is not defined in UserSchema, Err.Type will have the value of 'NoField'.\n\nIf 'Field' in the url parameters is not public and the requesting user doesn't have superuser Get privileges, Err.Type will have the value of 'PrivateField'.\n\nPUT /User/Self/Memberships/Validated\n------------------------------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying the user to operate on.\n\nThe Res.locals.ExpressUser.Membership property is set with the value of 'Validated'.\n\n- Error Behavior (Next(Err) is called)\n\nIf the user is not logged in, express-access-control will set Err.Source to 'ExpressAccessControl' and Err.Type to 'NoAccess'.\n\nIf the email authentication field in Res.locals.ExpressUser.User doesn't pass schema validation, Err.Type will have the value of 'BadField' and Err.Fields will be an array containing the erronous field.\n\nIf no email authentication field is present in Res.locals.ExpressUser.User, Err.Type will have the value of 'NoAuth'.\n\nIf Req.body.User doesn't exist as an object, Err.Type will have the value of 'BadBody'.\n\nPOST /User/:Field/:ID/Recovery/:SetField\n----------------------------------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying the user to operate on.\n\nThe Res.locals.ExpressUser.Update object is set and contains a newly generated value for the property 'SetField' to update the user with.\n\nRes.locals.ExpressUser.Generated will be defined as an array of one element listing the generated field.\n\nRes.locals.ExpressUser.GetUpdatedUser will be set to true if the url parameter 'Field' is not EmailField. This is in order to give the responder access to the account's email address without having to access the user store. \n\n- Error Behavior (Next(Err) is called)\n\nIf 'Field' is not a private identifying field, Err.Type will have the value of 'NoID'.\n\nIf 'ID' doesn't pass schema validation for 'Field', Err.Type will have the value of 'BadField' and Err.Fields will be an array containing the erronous field.\n\nIf 'SetField' is not a mutable user or email accessible field with auto generation, Err.Type will have the value of 'NoAuto'.\n\nPATCH /User/:Field/:ID\n----------------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying the user to update.\n\nThe Res.locals.ExpressUser.Update object is set and contains the fields that are to be updated.\n\nAdditionally, if email verification is enabled, the following will be set if 'EmailField' is among the fields to be updated:\n\nThe Res.locals.ExpressUser.Update object will contain a newly generated value for the email authentication field, assuming that a new value wasn't already present in Res.locals.ExpressUser.Update.\n\nRes.locals.ExpressUser.Memberships will be defined and have the value ```{'Remove': 'Validated'}```\n\nIf an email authentication field was generated in Res.locals.ExpressUser.Update, Res.locals.ExpressUser.Generated will be defined as an array of one element listing the field.\n\n- Error Behavior (Next(Err) is called)\n\nIf the user is not logged in with Edit superuser privileges, express-access-control will set Err.Source to 'ExpressAccessControl' and Err.Type to 'NoAccess'.\n\nIf 'Field' is not an identifying field, Err.Type will have the value of 'NoID'.\n\nIf 'ID' doesn't pass schema validation for 'Field', Err.Type will have the value of 'BadField' and Err.Fields will be an array containing the erronous field.\n\nIf the user doesn't specify any field to update in Req.body.Update (or only ignored fields), Err.Type will have the value of 'NoField'.\n\nIf any field in Req.body.Update doesn't pass schema validation, Err.Type will have the value of 'BadField' and Err.UpdateFields will contain all error fields related to updates.\n\nIf Req.body.Update don't exist as objects, Err.Type will have the value of 'BadBody'.\n\nDELETE /User/:Field/:ID\n-----------------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying the user to delete.\n\n- Error Behavior (Next(Err) is called)\n\nIf the user is not logged in with Delete superuser privileges, express-access-control will set Err.Source to 'ExpressAccessControl' and Err.Type to 'NoAccess'.\n\nIf 'Field' is not an identifying field, Err.Type will have the value of 'NoID'.\n\nIf 'ID' doesn't pass schema validation for 'Field', Err.Type will have the value of 'BadField' and Err.Fields will be an array containing the erronous field.\n\nGET /User/:Field/:ID\n--------------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying the user to get.\n\n- Error Behavior (Next(Err) is called)\n\nIf the user is not logged in with Get superuser privileges, express-access-control will set Err.Source to 'ExpressAccessControl' and Err.Type to 'NoAccess'.\n\nIf 'Field' is not an identifying field, Err.Type will have the value of 'NoID'.\n\nIf 'ID' doesn't pass schema validation for 'Field', Err.Type will have the value of 'BadField' and Err.Fields will be an array containing the erronous field.\n\nPUT /User/:Field/:ID/Memberships/:Membership\n--------------------------------------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying the user to operate on.\n\nThe Res.locals.ExpressUser.Membership property is set with the value of the 'Membership' parameter.\n\n- Error Behavior (Next(Err) is called)\n\nIf the user is not logged in with Edit superuser privileges, express-access-control will set Err.Source to 'ExpressAccessControl' and Err.Type to 'NoAccess'.\n\nIf 'Field' is not an identifying field, Err.Type will have the value of 'NoID'.\n\nIf 'ID' doesn't pass schema validation for 'Field', Err.Type will have the value of 'BadField' and Err.Fields will be an array containing the erronous field.\n\nDELETE /User/:Field/:ID/Memberships/:Membership\n-----------------------------------------------\n\n- Normal Behavior\n\nThe Res.locals.ExpressUser.User object is set and contains the fields identifying the user to operate on.\n\nThe Res.locals.ExpressUser.Membership property is set with the value of the 'Membership' parameter.\n\n- Error Behavior (Next(Err) is called)\n\nIf the user is not logged in with Delete superuser privileges, express-access-control will set Err.Source to 'ExpressAccessControl' and Err.Type to 'NoAccess'.\n\nIf 'Field' is not an identifying field, Err.Type will have the value of 'NoID'.\n\nIf 'ID' doesn't pass schema validation for 'Field', Err.Type will have the value of 'BadField' and Err.Fields will be an array containing the erronous field.\n\nExample\n=======\n\nNotice: Changes have been made that may break the example until I incorporate those changes in the express-user-local-basic project.\n\nWhile keeping in mind that details will probably change in the future, you can play with what is currently there, by running the Example.js server (you'll need the dev dependencies to run it) and going to the following adress in your browser: http://127.0.0.1:8080/\n\nIn order to avoid an email server dependency just to run the example (days of fun for the uninitiated), the example uses a mock call that justs prints the email address and token of a newly registered user on the console rather than try to send an actual email.\n\nFuture Development\n==================\n\n- Finish tests for :Field/:ID parametric URLs where ID is non-string\n\nHere are some potential improvements I'd find desirable for the project. Note however that at this point, the project as it is meets my personal needs so consider those changes long terms goals for the project.\n\n- Access hiaerchy: \n\nAtm, access privileges are rather flat as anybody who has view/edit/delete privileges can view/edit/delete anyone else.\n\nIdeally, you'd pass an hierachy array of groups and groups couldn't modify those higher in the array.\n\nThis would require an additional RestrictedGroups argument to be passed to express-user during a request which would be passed to user-store which would tailor its query to exclude documents/rows where Memberships contains one of those restricted groups.\n\n- Custom Verification\n\nAt this point, Email verification, while optional, is hard coded into the project.\n\nEventually, it would be desirable to add a customiseable hook architecture for verification instead with the Email Verification hook being included with the project.\n\n- More Fine Grained Brute Force Routing\n\nCurrently, only one brute force handler is applied to all routes that have brute force protection.\n\nEventually, I'd like to provide constructor options to give more fine-grained control concerning applying various brute force handlers to various routes.\n\n- Custom Route Disabling (or greater privilege requirements)\n\nEventually, I'd like to provide more fine-grained constructor options so that you can optionally disable certain routes or assign to them greater privilege requirements.\n\n- Password Recovery Link\n\nWould desirable if password recovery emailed to the user a password recovery link which when visited would either email a newly generated password or allow a user to input one.\n\nThis would prevent an attack vector (mostly inconvenience) where someone who knows another user's email could inconvenience him by arbitrarily generating random passwords on his account.\n\nHistory\n=======\n\n1.2.1\n-----\n\n- Fixed a small bug when account validation is enabled where the DELETE /User/Self/Memberships/Validated request would be handled by the authentication without further actions instead of just being ignored.\n\n1.2.0\n-----\n\n- Updated express-user and user-store dev dependencies to version 1.2.0 and 2.4.2 respectively\n- Fixed a loophole where, depending on the UserSchema, the responder might not find a user's email address in Res.locals.ExpressUser for the POST /User/:Field/:ID/Recovery/:SetField route.\n\n1.1.1\n-----\n\nAdded missing doc and test for POST /User/:Field/:ID/Recovery/:SetField route with regard to setting Res.locals.ExpressUser.Generated.\n\n1.1.0\n-----\n\nAdded Res.locals.ExpressUser.Generated list when fields are automatically generated, to better convey it to the responder.\n\n1.0.2\n-----\n\n- Finished documentation\n- Added tests for GET /Users/:Field/:ID/Count route with admin routes disabled\n- Fixed crash for GET /Users/:Field/:ID/Count route when admin routes are disabled\n\n1.0.1\n-----\n\nMore documentation.\n\n1.0.0\n-----\n\n- More tests\n- Changed functionality such that when there is not email authentication, PUT /User/Self/Memberships/Validated flags a lack of validation error, not a lack of access error\n- Changed default email verification to allow at most 80 characters long email addresses\n- Made the PUT /User/Self/Memberships/Validated route use csrf only if MinimalCsrf is set to true\n- Started Documentation\n\n0.0.1-alpha.20\n--------------\n\n- More tests\n- Added PUT /User/:Field/:ID/Memberships/:Membership and DELETE /User/:Field/:ID/Memberships/:Membership to the list of routes the optional Csrf handler is applied to.\n- Changed functionality such that when the email field is updated, a new email token is generated and user validation is reset.\n\n0.0.1-alpha.19\n--------------\n\n- More tests\n- Bit of refactoring\n- Updated user-properties dependency to version 3.4.0\n- Changed handling of URL parameters to parse fields as dictated by the user schema.\n- Added missing validation for the email authentication field in the PUT /User/Self/Memberships/Validated route.\n- Indicated the nuances for different errors in the PUT /User/Self/Memberships/Validated and made the errors most consistent with the rest of the library.\n- Implemented handlers for the PUT /User/:Field/:ID/Memberships/:Membership and the DELETE /User/:Field/:ID/Memberships/:Membership routes.\n- Fixed bug where certain options that can be defined with a falsey values would be ignored when they do.\n- Updated dev dependencies of user-store and express-user to versions 2.1.0 and 1.1.1.\n- Removed regex-email from dev dependencies as its already in the dependencies\n\n0.0.1-alpha.18\n--------------\n\n- More tests\n- Improved GET /User/:Field/:ID/Count feedback to distinguish access attempts to a inexistent field from forbibben access attempts to a private field.\n- Fixed minor bug in GET /User/:Field/:Value/Count, where only ID fields could be accepted.\n\n0.0.1-alpha.17\n--------------\n\n- More tests\n- Changed container of invalid update fields for PATCH methods from Err.Fields to Err.UpdateFields to more easily differentiate them from invalid authentication fields.\n- Added checks against null for required fields in PATCH routes rather than just delegate it to schema validation or user-store constraint\n- Fixed minor bug where only first bad field for updates would be reported for PATCH routes\n- Removed the restricted fields hidding for the GET /User/:Field/:ID route\n\n0.0.1-alpha.16\n--------------\n\n- More tests\n- Changed the name of 'HideSecret' option to 'HideRestricted'.\n- Changed GET /User/Self and GET /User/:Field/:ID routes to also hide fields whose access is not specified as 'User' if the HideRestricted option is set to true.\n\n0.0.1-alpha.15\n--------------\n\n- Added POST /Users (ie, registration) to the list of routes on which brute force checks are applied\n- Added checks against undefined and null for required fields in POST /Users rather than just delegate it to schema validation or user-store constraint\n- Fixed minor bug where only first bad field would be reported for POST /Users\n- Changed the expected format of the UserSchema option to an user-properties instance\n- Changed the version of user-properties and express-access-control dependencies to a range of supported versions\n- Changed PUT /Session/Self/User route to only accept fields that are user or email accessible for login\n- Changed PUT /Session/Self/User route to check against null for login or auth, rather than defer that check to schema validator.\n- Started tests\n- Updated user-store dev dependency to version 2.0.3 and adapted the example accordingly\n\n0.0.1-alpha.14\n--------------\n\n- Updated dev dependency for express-user to version 1.0.1\n- Added handler to DELETE /Session/Self/User to defined res.locals.ExpressUser\n\n\n0.0.1-alpha.13\n--------------\n\n- Updated express-access-control dependency to version 2.0.0.\n- Updated express-user and express-user-local-bacic dev dependencies to version 1.0.0 and 0.0.1-alpha.3 respectively.\n- Added Roles option in the constructor.\n- Moved connection security route from express-user to this project.\n- Moved admin access verification routes from express-user to this project.\n- Updated dev dependency of user-store to version 1.3.0.\n\n0.0.1-alpha.12\n--------------\n\n- Updated dev dependendices for express-user and express-user-local-basic to versions 0.0.1-alpha.15 and 0.0.1-alpha.2 respectivelly\n- Updated library to be compatiable with route change in the 0.0.1-alpha.15 version of express-user\n- Replaced response logic by feedback to pass to Responder\n- Improved bad input handling for body structure of requests\n- Fixed bug that occurs when a email token generator that can fail fails.\n\n0.0.1-alpha.11\n--------------\n\n- Fix bug that prevented /User/:Field/:ID/:SetField route from working\n- Implemented Password/Email Token recovery in the example.\n\n0.0.1-alpha.10\n--------------\n- Updated user-properties dependency to version 3.1.0.\n- Updated dev dependency of express-user to version 0.0.1-alpha.14\n- Updated default schema to take into account the new features of user-properties\n- Removed the EmailTokenGen constructor property, which is made redundant by new capacities in the schema\n- Added facilities to re-generate the Password and EmailToken.\n- Moved the SendMail option to Responder.\n- Added the express-user-local-basic project to dev dependencies.\n- Adapted example to changes.\n\n0.0.1-alpha.9\n-------------\n\n- Added uid-safe dependency\n- Updated user-properties dependency to version 2.0.0\n- Updated dev dependency of express-user to version 0.0.1-alpha.13\n- Modified default user schema to include a EmailToken field.\n- Added support to '/User/Self/Memberships/Validated' route to submit email token.\n- Modified the example to work with email tokens.\n- Added 2 new options to constructor to accomodate email validation customization.\n- Added new option to constructor to hide hidden fields from GET requests (HideSecrets) and added handler to specify to express-user which fields should be hidden.\n\n0.0.1-alpha.8\n-------------\n\n- Added Login/Logout to default Csrf protection.\n- Moved express-user/express-user-local example to this project\n- Added a bit of documentation\n- Removed express as a direct dependency\n\n0.0.1-alpha.7\n-------------\n\nAdded csrf support\n\n0.0.1.alpha.6\n-------------\n\nAdded doc for the latest feature of 0.0.1.alpha.5\n\n0.0.1.alpha.5\n-------------\n\n- Added user-properties dependency\n- Added customization for users' fields\n- Made the expected format for body parameters (more specifically in regard to identification/authentification vs updating) more uniform across request types.\n\n0.0.1.alpha.4\n-------------\n\n- Increased documentation details\n- Added option to pass a route to handle brute force.\n\n0.0.1-alpha.3\n-------------\n\n- Added support for /Users/:Field/:ID/Count/.\n\n0.0.1-alpha.2\n-------------\n\n- Adjusted to the change of API in express-user version 0.0.1-alpha.5\n- Added express-access-control as a dependency\n- Cleaned up the dev dependencies (not needed until there are tests)\n\n0.0.1-alpha.1\n-------------\n\nChanged session management URL from /Session/User to /Session/Self/User\n\n0.0.0 \n-----\n\nInitial prototype\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","maintainers":[{"name":"magnitus","email":"eric_vallee2003@yahoo.ca"}],"time":{"modified":"2022-06-17T22:44:07.390Z","created":"2015-01-30T17:05:18.090Z","0.0.0":"2015-01-30T17:05:19.272Z","0.0.1-alpha.1":"2015-01-30T22:35:52.533Z","0.0.1-alpha.2":"2015-02-04T23:51:46.389Z","0.0.1-alpha.3":"2015-02-05T19:25:27.135Z","0.0.1-alpha.4":"2015-02-07T20:40:16.948Z","0.0.1-alpha.5":"2015-02-13T13:06:15.578Z","0.0.1-alpha.6":"2015-02-13T13:18:18.270Z","0.0.1-alpha.7":"2015-02-17T22:01:34.516Z","0.0.1-alpha.8":"2015-02-18T16:18:08.949Z","0.0.1-alpha.9":"2015-03-08T05:05:12.387Z","0.0.1-alpha.10":"2015-03-27T06:04:31.698Z","0.0.1-alpha.11":"2015-03-28T14:01:11.499Z","0.0.1-alpha.12":"2015-03-31T21:32:02.284Z","0.0.1-alpha.13":"2015-04-03T23:33:06.800Z","0.0.1-alpha.14":"2015-04-06T13:18:51.939Z","0.0.1-alpha.15":"2015-04-23T23:44:28.127Z","0.0.1-alpha.16":"2015-04-25T14:18:56.562Z","0.0.1-alpha.17":"2015-04-30T21:24:20.071Z","0.0.1-alpha.18":"2015-05-02T16:08:43.669Z","0.0.1-alpha.19":"2015-05-07T19:15:28.034Z","0.0.1-alpha.20":"2015-05-13T05:17:43.866Z","1.0.0":"2015-05-18T05:17:56.951Z","1.0.1":"2015-05-19T21:00:35.591Z","1.0.2":"2015-05-20T18:37:22.282Z","1.1.0":"2015-05-22T18:20:11.860Z","1.1.1":"2015-05-22T18:27:49.430Z","1.2.0":"2015-05-26T21:32:02.202Z","1.2.1":"2016-01-02T10:36:04.005Z"},"readmeFilename":"README.md","keywords":["Express","Middleware","express-user","Validation","Local"],"repository":{"type":"git","url":"http://github.com/Magnitus-/ExpressUserLocal"},"author":{"name":"Eric Vallee","email":"eric_vallee2003@yahoo.ca"},"bugs":{"url":"http://github.com/Magnitus-/ExpressUserLocal/issues","email":"eric_vallee2003@yahoo.ca"},"license":"MIT","homepage":"https://github.com/Magnitus-/ExpressUserLocal"}