{"_id":"seneca-user","_rev":"52-2364e678b9deea7f159d42b9931c495d","name":"seneca-user","description":"User management plugin for Seneca","dist-tags":{"latest":"2.2.0"},"versions":{"0.1.1":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.1.1","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"lib/user.js","scripts":{"test":"node test/travis.js"},"files":["LICENSE.txt","README.md","lib"],"engines":{"node":">=0.8"},"dependencies":{"underscore":"~1.1.7","node-uuid":"~1.4.0"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"devDependencies":{"async":"*","eyes":"*","gex":"*"},"_id":"seneca-user@0.1.1","dist":{"shasum":"6018db32ce85481b95123c56ea317cd39921350b","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.1.1.tgz","integrity":"sha512-a+s8e7nwC0wJGL26X7rKsTKT+fwz/coDKXdvqvdG7D3LFCC7mOPyqeQc1jCDy+Rl/9c8PVTQMxLikPxrsTVqQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBm8LOY/dOxcUOibyUhh8sWCo0qAQREXGMRM0MhtjaQ5AiEAplNcwReCOaFVwtdKyoc+/qQ1lNfpRT06squRSA5raf0="}]},"_npmVersion":"1.1.61","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"directories":{}},"0.2.0":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.2.0","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"lib/user.js","scripts":{"test":"node test/travis.js"},"files":["LICENSE.txt","README.md","lib"],"engines":{"node":">=0.8"},"dependencies":{"underscore":"~1.4.4","node-uuid":"~1.4.0"},"devDependencies":{"gex":"~0.0.3","chai":"~1.5.0","async":"~0.1.22","seneca":"~0.5.0"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"_id":"seneca-user@0.2.0","dist":{"shasum":"746efb1b8e5fcf5f5cf4d238e8f18fb89df8c6f5","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.2.0.tgz","integrity":"sha512-aNFbTBpm12lkM+ODWXTgfGPpu7RJaO3Fs0vbcG5CRaKzuSMOt2N7txSUuP1WqVTiPhSZbQ6J5DdoAKadL1vxQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkOTXz24fSU3djHNH6aT/uUSykTmXZZMqcQZxYxl4SaAIgL5+sP0D5U1fQ1hIGporceH7YLirEsXb4URp1WKH6tec="}]},"_npmVersion":"1.1.61","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"directories":{}},"0.2.1":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.2.1","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"lib/user.js","scripts":{"test":"node test/travis.js"},"files":["LICENSE.txt","README.md","lib"],"engines":{"node":">=0.8"},"dependencies":{"underscore":"~1.4.4","node-uuid":"~1.4.0"},"devDependencies":{"gex":"~0.0.3","chai":"~1.5.0","async":"~0.2.5","seneca":"~0.5.3"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"_id":"seneca-user@0.2.1","dist":{"shasum":"18dca46134f06ab67d41fb7c12b24cebe178258d","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.2.1.tgz","integrity":"sha512-qC+H7ftGamLvXBcaYw6sxuMgivvOCHngF44/0oy9tyUrBITVk0oj79XythBKWM5fOI+cf8yUhqGN6lma380sBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDipd2mI1IJD3lITZG9ullMK+Qhozvdvh/mZekP5afX8wIgIiSNVSCRI2OCMm4HamThSQTwlsWMoO5yvTcGKE81X/w="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"directories":{}},"0.2.2":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.2.2","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"lib/user.js","scripts":{"test":"node test/travis.js"},"files":["LICENSE.txt","README.md","lib"],"engines":{"node":">=0.8"},"dependencies":{"underscore":"~1.4.4","node-uuid":"~1.4.0"},"devDependencies":{"gex":"~0.0.3","chai":"~1.5.0","async":"~0.2.5","seneca":">=0.5.9"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"_id":"seneca-user@0.2.2","dist":{"shasum":"4c544795467c3529b741a99d6212172d6b1b8570","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.2.2.tgz","integrity":"sha512-+5aVU5qPefQdPBLAK4/udx3mV0eLHy73WhMAwtK6Yv6DlVsl+4NUmGBUHA8JGMTfsNy0ZEu+5Vn7gWtbpW+Q+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClaCK4Bkk7KnlqZE241JZCT/zKLBNpfVjVXva9VBIqjgIhAKO2e8vkiFicVNZ5GVl9JDrOSnzVKj8UWHmWabDgGIEH"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"},{"name":"floridemai","email":"paul.negrutiu@gmail.com"}],"directories":{}},"0.2.3":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.2.3","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"lib/user.js","scripts":{"test":"node test/travis.js"},"files":["LICENSE.txt","README.md","lib"],"dependencies":{"underscore":"~1.5.1","node-uuid":"~1.4.1"},"devDependencies":{"gex":"~0.1.1","chai":"~1.7.2","async":"~0.2.9","seneca":"~0.5.10"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"_id":"seneca-user@0.2.3","dist":{"shasum":"6d2254f754678b03f4cddf00ae70ddd01b6133f2","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.2.3.tgz","integrity":"sha512-Pyc2RZ2iC9hGtVzbU5t+L9DOPvZJvfG++pvUi7nsNxlkynfaLFVNPiwOW4NBZl3K+FASUIAkk76T4lQvUEeU7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFkoOoLXdPVqvYVbgdzim0Vqj54jSbKIJOC9DwMfmdLxAiEA6oz+edUi6j+XHkkAQiQ4UzO6ein1vX2YCzyIThhyvHw="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"},{"name":"floridemai","email":"paul.negrutiu@gmail.com"}],"directories":{}},"0.2.4":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.2.4","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"lib/user.js","scripts":{"test":"node test/travis.js"},"files":["LICENSE.txt","README.md","lib"],"dependencies":{"underscore":"~1.5.1","node-uuid":"~1.4.1"},"devDependencies":{"gex":"~0.1.1","chai":"~1.7.2","async":"~0.2.9","seneca":"~0.5.11"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"_id":"seneca-user@0.2.4","dist":{"shasum":"0defca196382f2e3938ddd8c7f62b44eb9bf917e","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.2.4.tgz","integrity":"sha512-a1nOhmwby4sMqoShy6KXX5d0eypO84JRKeDw02fsm1UuDLj/MzHVigZ8DuIwQvqfwcAAIRru2Vbc0VIAZQKGig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFJZpGYv+Os3bOMyntbfGkPHQEdrLH8j9BroADsfBxH/AiBf6Is/DnO0Vybs0jrk6+XXqD2UL1mBsvk6F25/qYS/bg=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"},{"name":"floridemai","email":"paul.negrutiu@gmail.com"}],"directories":{}},"0.2.5":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.2.5","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"lib/user.js","scripts":{"test":"node test/travis.js"},"files":["LICENSE.txt","README.md","lib"],"dependencies":{"underscore":"~1.5.1","node-uuid":"~1.4.1"},"devDependencies":{"gex":"~0.1.1","chai":"~1.7.2","async":"~0.2.9","seneca":"~0.5.11"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"_id":"seneca-user@0.2.5","dist":{"shasum":"ce90abaa56bc6b25693ad6fd7d1c710e2cad349c","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.2.5.tgz","integrity":"sha512-5nezSeuKJC+t6tv/VHP0D3hwpaQPf1FmQaeo8j2fNsvjKFDV7ZcAn4G1ZvtKKigb0qaaQ/3lAnhrAqe4aP19GA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFnLoysY+kD3dm8kFMGFkaUZQ2OhjpF98K9L0nswD+mQIgLS4PPwBtdVBZ2nrEH2JWv37pxfjm918hEfGImoMk5+A="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"},{"name":"floridemai","email":"paul.negrutiu@gmail.com"}],"directories":{}},"0.2.6":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.2.6","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"lib/user.js","scripts":{"test":"node_modules/.bin/mocha test/*.test.js"},"files":["LICENSE.txt","README.md","lib"],"dependencies":{"underscore":"~1.5.1","node-uuid":"~1.4.1"},"devDependencies":{"gex":"~0.1.1","chai":"~1.7.2","async":"~0.2.9","seneca":"~0.5.12","mocha":"~1.13.0"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"_id":"seneca-user@0.2.6","dist":{"shasum":"1f82c4f79d1fa9ae26745430ad621cabecbe55b5","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.2.6.tgz","integrity":"sha512-fKDuVKY92ExNSJ0Py1MYveVFxtiXAa0Id62DMRE3AzrVN30xU8iOWMFtb4c4QRN1X0JAzQkNC1twNcSrKLMAkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBB3/3woexdGpOGbsvN9TVHJ0q21lQmj3wwdfScpJEeCAiEA7RXnyORSgb1FIM0Y+yf857hZiRxZ73n7Oxk/RaPQE8Q="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"},{"name":"floridemai","email":"paul.negrutiu@gmail.com"}],"directories":{}},"0.2.7":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.2.7","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"user.js","scripts":{"test":"node_modules/.bin/mocha test/*.test.js"},"files":["LICENSE.txt","README.md","user.js"],"dependencies":{"underscore":"1.5.x","node-uuid":"1.4.x"},"peerDependencies":{"seneca":"*"},"devDependencies":{"gex":"0.1.x","chai":"1.8.x","async":"0.2.x","seneca":"0.5.x","mocha":"1.17.x"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"bugs":{"url":"https://github.com/rjrodger/seneca-user/issues"},"homepage":"https://github.com/rjrodger/seneca-user","_id":"seneca-user@0.2.7","dist":{"shasum":"097bfa7972d2ddeb4d99e7b5a6b7e1e84a350f60","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.2.7.tgz","integrity":"sha512-2On24FBNXqwdfwbgNLuoAeHRsstVALDGBq+HZBeKzTmlNSnT8dn5b9kVXfVv6TbMCoslbVfaku5inbYRMiqJ1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHI2QwuuE20E187IN0/IuXk4J7JI7H4DW1sdLDeWD1yGAiEAq2+ju5lAzHoqn5VDXQBY0S5Lu+B63WHp0XfWKEcuasM="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"directories":{}},"0.2.8":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.2.8","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"user.js","scripts":{"test":"node_modules/.bin/mocha test/*.test.js"},"files":["LICENSE.txt","README.md","user.js"],"dependencies":{"underscore":"~1.5.2","node-uuid":"~1.4.1"},"peerDependencies":{"seneca":">=0.5.16"},"devDependencies":{"gex":"~0.1.3","chai":"~1.8.1","async":"~0.2.10","mocha":"~1.17.1","seneca":"~0.5.16"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"bugs":{"url":"https://github.com/rjrodger/seneca-user/issues"},"homepage":"https://github.com/rjrodger/seneca-user","_id":"seneca-user@0.2.8","dist":{"shasum":"b608fc9b540cceaa0c55dd8ba9c717ce36a5a5d0","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.2.8.tgz","integrity":"sha512-d71V4oe8FHombVnlnnMvuLzoTIV/ibYNWy1K7W+QcgBnvb4ZSPbTG8kLHZ/TH/wojzAcSVdNp20GfxKBw5NDLA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZHEoVpH0NKpN13T8zmZslOXSNzflBwmTwqpFfvMGNtAIgEn1YAc6ICsWXUpq1jNU65WtgeYGo/SzKAu9h6K1N21k="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"},{"name":"floridemai","email":"paul.negrutiu@gmail.com"}],"directories":{}},"0.2.10":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"0.2.10","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger"},"license":"MIT","main":"user.js","scripts":{"test":"mocha test/*.test.js"},"files":["LICENSE.txt","README.md","user.js"],"dependencies":{"underscore":"~1.6.0","node-uuid":"~1.4.1"},"peerDependencies":{"seneca":"*"},"devDependencies":{"gex":"~0.1.4","chai":"~1.9.1","async":"~0.9.0","mocha":"~1.20.1","seneca":"~0.5.17"},"repository":{"type":"git","url":"https://github.com/rjrodger/seneca-user.git"},"gitHead":"ea8b4042a74d70c7613dba608279203f3b185e12","bugs":{"url":"https://github.com/rjrodger/seneca-user/issues"},"homepage":"https://github.com/rjrodger/seneca-user","_id":"seneca-user@0.2.10","_shasum":"c24d7559b4ea4ae0c60501205cff39aa4bef1f90","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"rjrodger","email":"richard.rodger@nearform.com"},{"name":"floridemai","email":"paul.negrutiu@gmail.com"}],"dist":{"shasum":"c24d7559b4ea4ae0c60501205cff39aa4bef1f90","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-0.2.10.tgz","integrity":"sha512-cg5E6oQM7f8lb7/3YSijV9rPSeMiXnMMSbhULwARHbqUsn5kU3ycQMojKZrpnx239unQLbj+bCPRpErbNPjZBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCd9KhUp2lC7nbr4v9RCCasKUWP/Wc5HuJFcoM1KePhRwIgKOL7vHIHg2jlLKLgYZKKvHNkcj48bnI/mUxz84Fdpmw="}]},"directories":{}},"1.0.0":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"1.0.0","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -P test -r console -v -m 3000 -t 76","lint":"lab -dL","coverage":"lab -s -P test -r lcov | coveralls","annotate":"docco user.js -o doc"},"files":["LICENSE.txt","README.md","user.js","default-options.json"],"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com"}],"engines":{"node":">=0.10.0"},"dependencies":{"eraro":"0.4.1","lodash":"3.10.1","node-uuid":"1.4.7"},"devDependencies":{"code":"1.5.0","coveralls":"2.11.6","docco":"0.7.0","eslint-config-seneca":"1.x.x","eslint-plugin-hapi":"4.x.x","eslint-plugin-standard":"1.x.x","lab":"6.x.x","seneca":"plugin"},"repository":{"type":"git","url":"git+https://github.com/rjrodger/seneca-user.git"},"gitHead":"57344c0d2280fe50cb01f0ffc96675993d738c97","bugs":{"url":"https://github.com/rjrodger/seneca-user/issues"},"homepage":"https://github.com/rjrodger/seneca-user#readme","_id":"seneca-user@1.0.0","_shasum":"ce313a8c9ac01f52bfef04187f4389648d3d3166","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"mihaidma","email":"mihaizn@gmail.com"},"dist":{"shasum":"ce313a8c9ac01f52bfef04187f4389648d3d3166","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-1.0.0.tgz","integrity":"sha512-TQPNIf2CODvTKrASPwFySRdQBYD82TytJosQOnyOqlNwxz7d8Dlh5nIQ0OkEH06OwaSuUBuyQz0sYLE8bpG9qQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC7GvhljVFkPNKON7bjnFtysbZLi8L3rfpDXtVEt4juyAiBn0RWcirW/N5pmlFLH+dwaW66+KftjsoRxWCPTWYyI3w=="}]},"maintainers":[{"name":"floridemai","email":"paul.negrutiu@gmail.com"},{"name":"malex","email":"mircea.alexandru@gmail.com"},{"name":"mihaidma","email":"mihaizn@gmail.com"},{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/seneca-user-1.0.0.tgz_1455276762578_0.2022079590242356"},"directories":{}},"1.0.1":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"1.0.1","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -P test -r console -v -m 3000 -t 76","lint":"lab -dL","coverage":"lab -s -P test -r lcov | coveralls","annotate":"docco user.js -o doc"},"files":["LICENSE.txt","README.md","user.js","default-options.json"],"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com"}],"engines":{"node":">=0.10.0"},"dependencies":{"eraro":"0.4.1","lodash":"3.10.1","node-uuid":"1.4.7"},"devDependencies":{"code":"1.5.0","coveralls":"2.11.6","docco":"0.7.0","eslint-config-seneca":"1.x.x","eslint-plugin-hapi":"4.x.x","eslint-plugin-standard":"1.x.x","lab":"6.x.x","seneca":"plugin","seneca-entity":"0.0.1"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"gitHead":"cbca9c332ad72378485dae7c747a5dc84063c486","bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"homepage":"https://github.com/senecajs/seneca-user#readme","_id":"seneca-user@1.0.1","_shasum":"7d73d5fb114c01383c13fa96fb76643ec3cfa81e","_from":".","_npmVersion":"3.8.1","_nodeVersion":"5.0.0","_npmUser":{"name":"malex","email":"mircea.alexandru@gmail.com"},"dist":{"shasum":"7d73d5fb114c01383c13fa96fb76643ec3cfa81e","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-1.0.1.tgz","integrity":"sha512-HeiNROO5C78wMSqZBEIfKFVgUCYA5oXWWY1QtcuC8Rf5KaQiCfneu2H87URpS9cYrz+gj28qt+XUkXOFE24WsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA2cqHjwF7JdU6qeJUOY9WJe0uMgfm3e/hu+0R3iRValAiEA3ME1I5RTek5wzOSvMT9643ufUg79o6O1ZElKPqctzI0="}]},"maintainers":[{"name":"floridemai","email":"paul.negrutiu@gmail.com"},{"name":"malex","email":"mircea.alexandru@gmail.com"},{"name":"mihaidma","email":"mihaizn@gmail.com"},{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/seneca-user-1.0.1.tgz_1460729759335_0.37961428379639983"},"directories":{}},"1.0.2":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"1.0.2","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -P test -r console -v -m 3000 -t 76 $LAB_FLAGS","test:node6":"LAB_FLAGS='--leaks' && npm test","lint":"lab -dL","coverage":"lab -s -P test -r lcov | coveralls","annotate":"docco user.js -o doc"},"files":["LICENSE.txt","README.md","user.js","default-options.json"],"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com"}],"engines":{"node":">=0.10.0"},"dependencies":{"eraro":"0.4.1","lodash":"4.13.x","node-uuid":"1.4.7"},"devDependencies":{"code":"1.5.0","coveralls":"2.11.6","docco":"0.7.0","eslint-config-seneca":"1.x.x","eslint-plugin-hapi":"4.x.x","eslint-plugin-standard":"1.x.x","lab":"6.x.x","seneca":"plugin","seneca-entity":"0.0.1"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"gitHead":"fe9bfa005f125a1d98ca79b6b19436cd0e043ee8","bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"homepage":"https://github.com/senecajs/seneca-user#readme","_id":"seneca-user@1.0.2","_shasum":"65b8853642f02b85a4c22f46ec6cb8b69eb5a1da","_from":".","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"malex","email":"mircea.alexandru@gmail.com"},"maintainers":[{"name":"floridemai","email":"paul.negrutiu@gmail.com"},{"name":"malex","email":"mircea.alexandru@gmail.com"},{"name":"mihaidma","email":"mihaizn@gmail.com"},{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"dist":{"shasum":"65b8853642f02b85a4c22f46ec6cb8b69eb5a1da","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-1.0.2.tgz","integrity":"sha512-OcQllVIeYMdD1AcKebZm/8Xhju3/15I3GkiFfjg+XS8xQNWY/xMOIf/xDH46u2xrBQRecPDQ3MecsD1n/h/QVg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDobXs/+Dc6qJ50d+RH7w952oPcevqLmID3fJ0KSHm9mQIgZ7MsPDtJEEU6j/CUC/V0TEEq1ib1tu++G9nTKBE2I1g="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/seneca-user-1.0.2.tgz_1464087956647_0.2439579116180539"},"directories":{}},"1.1.0":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"1.1.0","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -P test -r console -v -m 3000 -t 76 $LAB_FLAGS","test:node6":"LAB_FLAGS='--leaks' && npm test","lint":"lab -dL","coverage":"lab -s -P test -r lcov | coveralls","annotate":"docco user.js -o doc"},"files":["LICENSE.txt","README.md","user.js","default-options.json"],"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com","url":"https://github.com/mihaidma"}],"engines":{"node":">=0.10.0"},"dependencies":{"eraro":"0.4.1","lodash":"4.13.x","node-uuid":"1.4.7"},"devDependencies":{"code":"1.5.0","coveralls":"2.11.6","docco":"0.7.0","eslint-config-seneca":"1.x.x","eslint-plugin-hapi":"4.x.x","eslint-plugin-standard":"1.x.x","lab":"6.x.x","seneca":"plugin","seneca-entity":"1.2.x"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"gitHead":"b2cfca7ddf9ec49876dff7b7734f06cecc8dca5d","bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"homepage":"https://github.com/senecajs/seneca-user#readme","_id":"seneca-user@1.1.0","_shasum":"e3034e117bc8ab1a11f6292af7db19b19fa77917","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.0","_npmUser":{"name":"mihaidma","email":"mihaizn@gmail.com"},"dist":{"shasum":"e3034e117bc8ab1a11f6292af7db19b19fa77917","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-1.1.0.tgz","integrity":"sha512-RQri3FTQvnBtTZYp05Ktxc27Vf2Zdi2EqqNKW4KvitLC81bZOTf6U7wbh8AvfTaTPS7rxrQolhsBN1xZGTBp6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC/x+r0AtFyIlBr+5WF7wxLTfkFlazOGMjz5vMtkEy34AiBO//POPQUiL7tjT2f2Cxc/+9D8GUGDguMEUiH0T7r1dQ=="}]},"maintainers":[{"name":"floridemai","email":"paul.negrutiu@gmail.com"},{"name":"malex","email":"mircea.alexandru@gmail.com"},{"name":"mcdonnelldean","email":"mcdonnelldean@outlook.com"},{"name":"mihaidma","email":"mihaizn@gmail.com"},{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/seneca-user-1.1.0.tgz_1469191073636_0.09989302465692163"},"directories":{}},"2.0.0":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"2.0.0","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -v -L -P test -r console -m 3000 -t 80","lint":"lab -dL","coverage":"lab -s -P test -r lcov | coveralls","annotate":"docco user.js -o doc"},"files":["LICENSE.txt","README.md","user.js","default-options.json"],"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com","url":"https://github.com/mihaidma"}],"engines":{"node":">=4.0.0"},"dependencies":{"eraro":"0.4.1","lodash":"4.14.2","node-uuid":"1.4.7"},"devDependencies":{"async":"2.0.x","code":"3.0.x","coveralls":"2.11.x","docco":"0.7.x","eslint-config-seneca":"3.x.x","eslint-plugin-hapi":"4.x.x","eslint-plugin-standard":"2.x.x","lab":"11.0.x","pre-commit":"1.1.x","seneca":"plugin","seneca-entity":"1.2.x"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"pre-commit":["test"],"gitHead":"3f377ad76470747b5b8bf0c07c4512618eec2109","bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"homepage":"https://github.com/senecajs/seneca-user#readme","_id":"seneca-user@2.0.0","_shasum":"86cea81efcde6a43f6de642e028a3686ac8c46e3","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.0","_npmUser":{"name":"mihaidma","email":"mihaizn@gmail.com"},"dist":{"shasum":"86cea81efcde6a43f6de642e028a3686ac8c46e3","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-2.0.0.tgz","integrity":"sha512-xkcgjQ93PvjYOprhqwSutO1Xb/hbC7jsm4uyoGgBkg4NT0l9TE+fYAIhntFH0IGTZadOwWn3lt/KcOH4IzoC7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHaoLcfLBzR3CK2u3VO+x6Kvj3u3bL6XaDg6Iv77N/L7AiEAn8KHKfJTsTQ1delImGjjyjfZP/hB5treH6c4VKBhyfg="}]},"maintainers":[{"name":"floridemai","email":"paul.negrutiu@gmail.com"},{"name":"malex","email":"mircea.alexandru@gmail.com"},{"name":"mcdonnelldean","email":"mcdonnelldean@outlook.com"},{"name":"mihaidma","email":"mihaizn@gmail.com"},{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/seneca-user-2.0.0.tgz_1471353125345_0.020631773862987757"},"directories":{}},"2.1.0":{"name":"seneca-user","description":"User management plugin for the seneca module.","version":"2.1.0","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -v -L -P test -r console -m 3000 -t 80","lint":"lab -dL","coverage":"lab -s -P test -r lcov | coveralls","annotate":"docco user.js -o doc"},"files":["LICENSE.txt","README.md","user.js","default-options.json"],"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com","url":"https://github.com/mihaidma"}],"engines":{"node":">=4.0.0"},"dependencies":{"eraro":"0.4.1","lodash":"4.14.2","node-uuid":"1.4.7"},"devDependencies":{"async":"2.0.x","code":"3.0.x","coveralls":"2.11.x","docco":"0.7.x","eslint-config-seneca":"3.x.x","eslint-plugin-hapi":"4.x.x","eslint-plugin-standard":"2.x.x","lab":"11.0.x","pre-commit":"1.1.x","seneca":"plugin","seneca-basic":"0.5.x","seneca-entity":"1.3.x"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"pre-commit":["test"],"gitHead":"7ab8ee03191f9a30ca5208198cbc820e2c495627","bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"homepage":"https://github.com/senecajs/seneca-user#readme","_id":"seneca-user@2.1.0","_shasum":"5c5fe51bba2090c5d362a424b3f7ca516902ba7f","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.0","_npmUser":{"name":"mihaidma","email":"mihaizn@gmail.com"},"dist":{"shasum":"5c5fe51bba2090c5d362a424b3f7ca516902ba7f","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-2.1.0.tgz","integrity":"sha512-BiMrIMaNTI67Y2r01SzW9ZKgEICUpGRKZJGQJnAbNnvfoAntKAgl/aNymC9tTR4oqKu0Mij3aRScxwHWGh8oeg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAjr4qjaWtNbaJAhHjx8I08pVO9jhDSX7FgjS5+2BrXHAiEAzE1kf2peT0ZZHMpSLA4UVXx7JgdxVW4CaYdBw+u99Zs="}]},"maintainers":[{"name":"floridemai","email":"paul.negrutiu@gmail.com"},{"name":"malex","email":"mircea.alexandru@gmail.com"},{"name":"mcdonnelldean","email":"mcdonnelldean@outlook.com"},{"name":"mihaidma","email":"mihaizn@gmail.com"},{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/seneca-user-2.1.0.tgz_1472148491405_0.44240080658346415"},"directories":{}},"2.1.1":{"name":"seneca-user","description":"User management plugin for Seneca","version":"2.1.1","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -v -L -P test -r console -m 3000 -t 70 -I WebAssembly","coveralls":"lab -s -P test -r lcov  -I WebAssembly | coveralls","coverage":"lab -v -P test -L -t 70 -r html -I WebAssembly > doc/coverage.html","annotate":"docco user.js -o doc/annotated"},"files":["LICENSE","README.md","user.js","default-options.json"],"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com","url":"https://github.com/mihaidma"},{"name":"Adrien Becchis","url":"https://github.com/AdrieanKhisbe"},{"name":"Shane Lacey","url":"https://github.com/shanel262"},{"name":"Otávio Augusto Soares","url":"https://github.com/otaviosoares"},{"name":"Dean McDonnell","url":"https://github.com/mcdonnelldean"},{"name":"Nicolas Herment","url":"https://github.com/nherment"},{"name":"Paolo Chiodi","url":"https://github.com/paolochiodi"},{"name":"Emer Rutherford","url":"https://github.com/eeswr"},{"name":"Matteo Collina","url":"https://github.com/mcollina"},{"name":"Wyatt Preul","url":"https://github.com/geek"},{"name":"rithdmc","url":"https://github.com/rithdmc"},{"name":"Guy Ellis","url":"https://github.com/guyellis"},{"name":"Cian Butler","url":"https://github.com/butlerx"},{"name":"Sorin Silaghi","url":"https://github.com/sorin7486"}],"engines":{"node":">=4.0.0"},"dependencies":{"eraro":"0.4.1","lodash":"4.17.4","node-uuid":"1.4.8"},"devDependencies":{"async":"2.4.x","code":"4.0.x","coveralls":"2.13.x","docco":"0.7.x","eslint-config-seneca":"3.x.x","eslint-plugin-hapi":"4.x.x","eslint-plugin-standard":"3.x.x","lab":"13.1.x","pre-commit":"1.2.x","seneca":"plugin","seneca-basic":"0.5.x","seneca-entity":"2.0.x"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"pre-commit":["test"],"gitHead":"c29e5460abf540834aee32742e824fd7f91c37b9","bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"homepage":"https://github.com/senecajs/seneca-user#readme","_id":"seneca-user@2.1.1","_shasum":"819377466bc48aef4e8e2910165d32dc95330a83","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"rjrodger","email":"richard.rodger@nearform.com"},"maintainers":[{"name":"floridemai","email":"paul.negrutiu@gmail.com"},{"name":"malex","email":"mircea.alexandru@gmail.com"},{"name":"mcdonnelldean","email":"mcdonnelldean@outlook.com"},{"name":"mihaidma","email":"mihaizn@gmail.com"},{"name":"rjrodger","email":"richard.rodger@nearform.com"}],"dist":{"shasum":"819377466bc48aef4e8e2910165d32dc95330a83","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-2.1.1.tgz","integrity":"sha512-+x1Ek7/ww5ZGjkI1sBFrlVm9JlHhNc7AlmvOoe5FM84Eom0hwoQSaR9mmeRxF9KY7CcPtCeapE/ClJQ0cPkTCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEtrvzdS9KLuRajGTFVDXH+hRs3BTLosKC1BdQRoABa+AiAf4nPnkc1v4tJCaqh9M5D8ii5rEmu06Mk7ZxhoSBduVA=="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/seneca-user-2.1.1.tgz_1496749953646_0.823534969240427"},"directories":{}},"2.1.2":{"name":"seneca-user","description":"User management plugin for Seneca","version":"2.1.2","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -v -L -P test -r console -m 3000 -t 70 -I URL,URLSearchParams,SharedArrayBuffer,Atomics,BigUint64Array,BigInt64Array,BigInt","coveralls":"lab -s -P test -r lcov  -I WebAssembly | coveralls","coverage":"lab -v -P test -L -t 70 -r html -I WebAssembly > doc/coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js"},"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com","url":"https://github.com/mihaidma"},{"name":"Adrien Becchis","url":"https://github.com/AdrieanKhisbe"},{"name":"Shane Lacey","url":"https://github.com/shanel262"},{"name":"Otávio Augusto Soares","url":"https://github.com/otaviosoares"},{"name":"Dean McDonnell","url":"https://github.com/mcdonnelldean"},{"name":"Nicolas Herment","url":"https://github.com/nherment"},{"name":"Paolo Chiodi","url":"https://github.com/paolochiodi"},{"name":"Emer Rutherford","url":"https://github.com/eeswr"},{"name":"Matteo Collina","url":"https://github.com/mcollina"},{"name":"Wyatt Preul","url":"https://github.com/geek"},{"name":"rithdmc","url":"https://github.com/rithdmc"},{"name":"Guy Ellis","url":"https://github.com/guyellis"},{"name":"Cian Butler","url":"https://github.com/butlerx"},{"name":"Sorin Silaghi","url":"https://github.com/sorin7486"}],"engines":{"node":">=4.0.0"},"dependencies":{"eraro":"1.0","lodash":"4.17","uuid":"3.3"},"devDependencies":{"async":"2","code":"4","coveralls":"3","lab":"14","prettier":"1","seneca":"plugin","seneca-basic":"0","seneca-entity":"2"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"pre-commit":["test"],"gitHead":"a1dc3e2ac31158df0e96488eaac161c68b07c3e2","bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"homepage":"https://github.com/senecajs/seneca-user#readme","_id":"seneca-user@2.1.2","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-eB5Sxy+njIu17Clya0xSdDe+aVbqqMz7Xk/7JPl/6o0abB7zMocSJbzYOsBEWu1STz3rsYcpidAzQH0IANkGtw==","shasum":"93e202de3f4c3b3b916875746dad6931983a3568","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-2.1.2.tgz","fileCount":6,"unpackedSize":54543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5B6qCRA9TVsSAnZWagAA07kP/2J94f8siGn+GIJ/ybZI\nd7XF1AGBN/UC2/gNQm5P5ta5JATCovB5ScTOAWzHIqFm3fl7ZWsj//+BNBJo\nRIfr2QF06aucC+bZTAhBNc/yFH6bZQ7DMYIpNw2caRyhB6qIlATvZUhaxhPg\nFvA2IiWrIUdWIEQsMcxlAO/w8lcCu4m5Yqtgakh9qVikShOUbGoS041SyPIQ\nysntvbSArSJ8gmAg8kprwfrKYRJZjFSmCTgQ0i3CZ/q4tVU/Mn4DD6iy41Zk\ngfpz7tv/XDXWiDt4c0J1FUMCb2oUtdFiUYhC0vSFmv2KZNDLpNucLA55X+yL\nQRiu4AZGMBFjPCX/NZRjKP8BKO8StYuS/TgiX7FtfsN4soqh2dHWiZMCfGQL\n7QMVsG6ujeCbyL4Q0mmQqa7Ivb+ocWCcz8IawhJFWEZFTgk3FnLJf+PgtibE\ncMfo4wPkIv/ofRxp6cKgdQZUW88d9heT9cwXBd1Nu2pev/9zP+gw/F1AxVAw\nzvvauqN0HGSHQXvE2dNFrP3ZtA6taghtonFTvqGHtNaL/SlrfUht18ivLJj2\n/W6/ycQnGpLcbt3vX8kZDSPrHSAdTVR3GrAvCq/QFNBs+Vo1jE/qGdPh6s3M\n2sY7KlogzcFBtCO4e0fiWyUDHDRU2qz56qIk68Fg+dMzlOQBKew44vFDkb2f\n0gE0\r\n=yO/m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzrVtkL/0J/9wmVYabq71ZFL7sCF66uFz2ZipbyNvoOAIhAKgDhv3I6vH9dF5/3NN2VkmjNccDg4VTIo+WWrIE1li2"}]},"maintainers":[{"email":"georgi@omnispectivity.com","name":"georgigriffiths"},{"email":"richard.rodger@nearform.com","name":"rjrodger"}],"_npmUser":{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/seneca-user_2.1.2_1558453929757_0.790072002601079"},"_hasShrinkwrap":false},"2.1.3":{"name":"seneca-user","description":"User management plugin for Seneca","version":"2.1.3","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -v -L -P test -r console -m 3000 -t 70 -I URL,URLSearchParams,SharedArrayBuffer,Atomics,BigUint64Array,BigInt64Array,BigInt","coveralls":"lab -s -P test -r lcov  -I WebAssembly | coveralls","coverage":"lab -v -P test -L -t 70 -r html -I WebAssembly > doc/coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js"},"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com","url":"https://github.com/mihaidma"},{"name":"Adrien Becchis","url":"https://github.com/AdrieanKhisbe"},{"name":"Shane Lacey","url":"https://github.com/shanel262"},{"name":"Otávio Augusto Soares","url":"https://github.com/otaviosoares"},{"name":"Dean McDonnell","url":"https://github.com/mcdonnelldean"},{"name":"Nicolas Herment","url":"https://github.com/nherment"},{"name":"Paolo Chiodi","url":"https://github.com/paolochiodi"},{"name":"Emer Rutherford","url":"https://github.com/eeswr"},{"name":"Matteo Collina","url":"https://github.com/mcollina"},{"name":"Wyatt Preul","url":"https://github.com/geek"},{"name":"rithdmc","url":"https://github.com/rithdmc"},{"name":"Guy Ellis","url":"https://github.com/guyellis"},{"name":"Cian Butler","url":"https://github.com/butlerx"},{"name":"Sorin Silaghi","url":"https://github.com/sorin7486"}],"engines":{"node":">=4.0.0"},"dependencies":{"eraro":"1.0","lodash":"4.17","uuid":"3.3"},"devDependencies":{"async":"2","code":"4","coveralls":"3","lab":"14","prettier":"1","seneca":"plugin","seneca-basic":"0","seneca-entity":"2"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"pre-commit":["test"],"gitHead":"0dfe465a092751472faa714fe5c1dea66164e476","bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"homepage":"https://github.com/senecajs/seneca-user#readme","_id":"seneca-user@2.1.3","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-nVuxM8GsANK8vmqGWx0gBa98jfhGWCrBZInwJ8qWeaPMDwiLW5TrgRnz+FxFizQjxB0SKqS0JPg12rkKDCNC3A==","shasum":"1a7a5f267a8f198ee47a6d172629d49cb2643390","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-2.1.3.tgz","fileCount":6,"unpackedSize":54629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5RvSCRA9TVsSAnZWagAAKz0P/RJaVJP4r0IK+rWKnpQU\nD42U1m7/IQgOyYAXxAnhBSjmS7R7mTDF7B4bL24UHaQ3TJRjecqk2N+BaDw6\n5PdCv/ipGdUQhOfXxZqyJ28cQTtQI2GzZBc5XNaBnBvnx6Zrs3+z4B20c1vw\n6P7HFlV3N4pdCoP0R+P7P2EnaXgUy9xPQe6o3Klp9JWyJ3jCBgVfyryxUEwV\no1zPOzvCb0+xLZgMro+UcXAEQDi3Vpjsjc4XWFtM9g97M6h/04yxiOrtEk91\nqFyGi2vRJZKuyNKuwFNxf33l46BPVL47k2nojGVN4TEJytpEGEIi/CdOI0g7\n9a9KtAfh9VNxyylo25zRWoSH6zeh5dhn5AdgbQkTShpWCGJyoqoitfgriB+h\n1LuFz6d26Wh9FA+yMgV7DtAL29191rYpSKOQ3uG1XtASy2kYDYq3iQ1f0Cgv\nNMMJMi6GCd7gLT4uemAjAaAoPbWnnDULcACIbGXYgqYVUMUZV+PR1UFZZ6qh\n2SmchLVbv+EYP0WfQKsfzPJGj0KdjrYsixaZCVq3j9c5uahTuE3B3cx54j91\nX/1E+Sc1lHodj9fYIt3hy+ynAGadeJcu9JDKpWfmWF3cCT6BqFV0TaOI3SBq\ngxmccsYGCxawAdK187/yBAyS+kQd8kEUyBlPkxs9/xX8ZCtMOCDfp2UhQxIL\nVRAf\r\n=BsF+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGGZBJc2w7AUDNFza0NnTAZp7qJXF8Hb5+ERH1L0qSdAiEA6wkt1Bk33qNvkzh/Khs4ljXltBZ2QaTID4Bmci5zabQ="}]},"maintainers":[{"email":"georgi@omnispectivity.com","name":"georgigriffiths"},{"email":"richard.rodger@nearform.com","name":"rjrodger"}],"_npmUser":{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/seneca-user_2.1.3_1558518737767_0.35668161307418544"},"_hasShrinkwrap":false},"2.1.4":{"name":"seneca-user","description":"User management plugin for Seneca","version":"2.1.4","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -v -L -P test -r console -m 3000 -t 70 -I URL,URLSearchParams,SharedArrayBuffer,Atomics,BigUint64Array,BigInt64Array,BigInt","coveralls":"lab -s -P test -r lcov  -I WebAssembly | coveralls","coverage":"lab -v -P test -L -t 70 -r html -I WebAssembly > doc/coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js"},"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com","url":"https://github.com/mihaidma"},{"name":"Adrien Becchis","url":"https://github.com/AdrieanKhisbe"},{"name":"Shane Lacey","url":"https://github.com/shanel262"},{"name":"Otávio Augusto Soares","url":"https://github.com/otaviosoares"},{"name":"Dean McDonnell","url":"https://github.com/mcdonnelldean"},{"name":"Nicolas Herment","url":"https://github.com/nherment"},{"name":"Paolo Chiodi","url":"https://github.com/paolochiodi"},{"name":"Emer Rutherford","url":"https://github.com/eeswr"},{"name":"Matteo Collina","url":"https://github.com/mcollina"},{"name":"Wyatt Preul","url":"https://github.com/geek"},{"name":"rithdmc","url":"https://github.com/rithdmc"},{"name":"Guy Ellis","url":"https://github.com/guyellis"},{"name":"Cian Butler","url":"https://github.com/butlerx"},{"name":"Sorin Silaghi","url":"https://github.com/sorin7486"}],"engines":{"node":">=4.0.0"},"dependencies":{"eraro":"1.0","lodash":"4.17","uuid":"3.3"},"devDependencies":{"async":"2","code":"4","coveralls":"3","lab":"14","prettier":"1","seneca":"plugin","seneca-basic":"0","seneca-entity":"2"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"pre-commit":["test"],"gitHead":"ebf263899e7b06a0ff17241935519e618a16c7eb","bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"homepage":"https://github.com/senecajs/seneca-user#readme","_id":"seneca-user@2.1.4","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-lw5gK4JalgKtqvrMI0fIyPOFF7/3tfnAVbBoW4FV0qMsN8s7G8rm9al0WfvCwYd3EtUFawKcyr/jbTAhxyGOWQ==","shasum":"65447cb5f6a1c410210c275597df58e2012d1548","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-2.1.4.tgz","fileCount":6,"unpackedSize":54638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5TdNCRA9TVsSAnZWagAAGQAQAJpSZn0Iogvahu+E3yQx\nPhLaK2oC/qXDavckn1QytSW2T3/kQN1C/+YPphNDd/7M18np3r63A83aNYcB\nCr/ce3sXciyqLwa97kZpCUJiduTW7ybmCybMUOsVG9m+L7vAnj0IP8K8/g0m\nGYQor6233LZhXmzLfKT1/Al3tsTZHfgmRGxOwIsw4Qw1FhSs0y8Lv7B5IWT+\nwaTAjxfursuBty4ku1fH1tBE4NBzy14c2FXD5J9ZLxPoQNOfQW5sNLTv+N6+\nSZVxwdLwbunADZjc4q6uIztbCQ5yGv7Y8uIgfY9szzrJ8M9r/j229m0CVxSd\nUcPUc9iLmVeU0CgVuoPVc4ZrdM7PI2tu3eMGh1u2oDwe3gjyQ5cV7cQEYjzq\ncbW+j0GU9OFvAybt7eAjhpImEqgEgiwDAbnmnXWtsvvcwwaNo03fJUhJvAaS\nseR2ydamUm68qsBrHwYIUIdmAViTOeiOSELvrpr4+X4lg5llncemcw3dPLfL\nswnlkXST4UP5MnZ7vp7WDa/xoRLr+j5dVwIOmygZ4sS3GIoe5t7I4XGGWeZ+\n+lpfZtXNvXL1x8uKY/bdjTPSkBkD26l/J4rrz/Dp3IzVuCgqacdCHaogZ6pG\nyO+RkD/tzUigWBaxfiSarHea//Ukst0MDZUWn5c5bjyHYi1PgSX63uAN4wZz\nLbhS\r\n=msUd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGftqBsuP7W2GThQ0k5Da7q8Ncr7RFKvSiCl7f2OCAC8AiB2+yH2s/M9uyLFD5PGHr22ltUFEiVcmx0YmpsJjdESRQ=="}]},"maintainers":[{"email":"georgi@omnispectivity.com","name":"georgigriffiths"},{"email":"richard.rodger@nearform.com","name":"rjrodger"}],"_npmUser":{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/seneca-user_2.1.4_1558525772379_0.8507017282612974"},"_hasShrinkwrap":false},"2.2.0":{"name":"seneca-user","description":"User management plugin for Seneca","version":"2.2.0","keywords":["seneca","user","plugin"],"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"license":"MIT","main":"user.js","scripts":{"test":"lab -v -L -P test -r console -m 3000 -t 70 -I URL,URLSearchParams,SharedArrayBuffer,Atomics,BigUint64Array,BigInt64Array,BigInt","coveralls":"lab -s -P test -r lcov  -I WebAssembly | coveralls","coverage":"lab -v -P test -L -t 70 -r html -I WebAssembly > doc/coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","reset":"npm run clean && npm i && npm test","clean":"rm -rf node_modules package-lock.json yarn.lock","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","repo-publish":"npm run clean && npm i --registry=http://registry.npmjs.org && npm run prettier && npm test && npm run repo-tag && npm publish --access public --registry=http://registry.npmjs.org"},"contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com","url":"https://github.com/mihaidma"},{"name":"Adrien Becchis","url":"https://github.com/AdrieanKhisbe"},{"name":"Shane Lacey","url":"https://github.com/shanel262"},{"name":"Otávio Augusto Soares","url":"https://github.com/otaviosoares"},{"name":"Dean McDonnell","url":"https://github.com/mcdonnelldean"},{"name":"Nicolas Herment","url":"https://github.com/nherment"},{"name":"Paolo Chiodi","url":"https://github.com/paolochiodi"},{"name":"Emer Rutherford","url":"https://github.com/eeswr"},{"name":"Matteo Collina","url":"https://github.com/mcollina"},{"name":"Wyatt Preul","url":"https://github.com/geek"},{"name":"rithdmc","url":"https://github.com/rithdmc"},{"name":"Guy Ellis","url":"https://github.com/guyellis"},{"name":"Cian Butler","url":"https://github.com/butlerx"},{"name":"Sorin Silaghi","url":"https://github.com/sorin7486"}],"engines":{"node":">=4.0.0"},"dependencies":{"eraro":"^2.1.0","lodash":"^4.17.15","uuid":"^3.4.0"},"devDependencies":{"async":"3","code":"5","coveralls":"3","lab":"14","prettier":"1","seneca":"^3.20.0","seneca-basic":"^1.0.0","seneca-entity":"^7.0.0"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"pre-commit":["test"],"gitHead":"143c85da9bb9fd4b7632cfcb77fb6f38a99e4ea9","bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"homepage":"https://github.com/senecajs/seneca-user#readme","_id":"seneca-user@2.2.0","_nodeVersion":"10.15.3","_npmVersion":"6.13.1","dist":{"integrity":"sha512-p76Fab+QhXmaqx9p6y7wN5+HypWyZpT8piuulU+qPDHO5eWmMa3eKMmgag2+21QNV4qAI84slXTa7/vc8M6coQ==","shasum":"20dc71edd754aa976c9cde3bbbffed3ab43b3309","tarball":"https://registry.npmjs.org/seneca-user/-/seneca-user-2.2.0.tgz","fileCount":6,"unpackedSize":55162,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMbPzCRA9TVsSAnZWagAAWIQP/1BvS87xNr5m9NjiPKc4\nwg8YyM6EUsYl9K40WNDvY/1VaZyWL3FpNUn/mFn/oyiroDYzoY4cw4m9W0mm\np+gk0AI0dK4/SIKfwQIsOjsFYyYzsRJNrlptodqQCdSny97DokvIA+DufbkR\nw/HPnAZwhL3QPw+SNhvO4d+27GAlFWgTD6wVTFxoqIHOKgR0FNLLnUw4RnRC\nTzewHVyu2ZQG+cp1cQyp7qCvRuXCjHj02pOXFVJA3lEEmzv0EXeEw/hoZsiV\nMytJAwBQ/nax4RitCwPuIQr2pS7xhBU/nUVmabmoLBh3A8MVKDMz7z98eUDh\nBIC2nCb7Bd27nALX1bjsinn6m1eGnBP7P3D39gOFMAM1jT8kCfMTdp0dU+CI\nJnF6qYgCdOGMIb/9FjcpKtNR4sKz9zkyZ78s2NZxb1f/9F0UWJVizN6NDDaj\nhL+OJX3Qer0EXslrsFseCVPcdovXJMBCCIGuQ1IKfzg8Yv9OoZsHpGK+MqjO\nAzXAEVr50w4//sYeEeGdL9lwfoSxHtNfg9WySZtd+sZOu7JVKa/0X8dw4rCF\n4q9+l25kPAr3eyAR+6CGAQUQPD06JiScGJscjJp4idr5g+GPMAtLMoG2r9Yp\ntJgxBH7CevYTpe5QvgXg+6jJNPcyvtaW4axd3gE5j5twHaGwCUkHD0nhM1Si\nV5kU\r\n=ylOC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID1vxhQLSBzcLbSITWYymHxHUVRhtXaUpN9r0/obf9xLAiEA7cfoKAAaXJ3kTyccbnekidQWy1BUyMfeHIHlXULWtqY="}]},"maintainers":[{"email":"georgi@omnispectivity.com","name":"georgigriffiths"},{"email":"richard.rodger@nearform.com","name":"rjrodger"}],"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/seneca-user_2.2.0_1580315634764_0.8428747487041095"},"_hasShrinkwrap":false}},"readme":"![Seneca](http://senecajs.org/files/assets/seneca-logo.png)\n> A [Seneca.js](http://senecajs.org) User Management Plugin\n\n# seneca-user\n[![npm version][npm-badge]][npm-url]\n[![Build Status][travis-badge]][travis-url]\n[![Coverage Status][coveralls-badge]][coveralls-url]\n[![Dependency Status][david-badge]][david-url]\n[![Gitter chat][gitter-badge]][gitter-url]\n\nLead Maintainers: [Mircea Alexandru](https://github.com/mirceaalexandru) and [Mihai Dima](https://github.com/mihaidma)\n\n## A user management plugin for the [Seneca](http://senecajs.org) toolkit\n\nThis module is a plugin for the Seneca framework. It provides business logic for user management, such as:\n\n   * login\n   * logout\n   * registration\n   * password handling, incl. resets\n\nThis plugin needs [seneca-basic][seneca-basic-url] and [seneca-entity][seneca-entity-url] plugins to function properly.\n\nThere are two core concepts: user and login. A _user_, storing the user account details and encrypted passwords,\nand a _login_, representing an instance of a user that has been authenticated. A user can have multiple logins.\n\nThis module does not make any assumptions about the context it runs in.\nUse the [seneca-auth](http://github.com/senecajs/seneca-auth) plugin to handle web and social media authentication.\n\nFor a working example, see the [Seneca user accounts example](https://github.com/rjrodger/seneca-examples/tree/master/user-accounts)\n\n## Support\n\nIf you're using this module, feel free to contact me on Twitter if you\nhave any questions! :) [@rjrodger](http://twitter.com/rjrodger)\n\n## Code examples\n\nFor code samples, please see the [tests](https://github.com/senecajs/seneca-user/tree/master/test) for this plugin.\n\n### Seneca compatibility\n\nSupports Seneca versions **1.x** - **3.x**\n\n## Install\n\n```sh\nnpm install seneca\nnpm install seneca-user\n```\n\nYou'll need the [seneca](http://github.com/senecajs/seneca) module to use this module - it's just a plugin.\n\n## Quick example\n\n```js\nvar seneca = require('seneca')()\nseneca.use(require('seneca-basic'))\nseneca.use(require('seneca-entity'))\nseneca.use(require('seneca-user'))\n\nseneca.ready(function (){\n  seneca.act( {role: 'user', cmd: 'register', name: \"Flann O'Brien\", email: 'nincompoop@deselby.com', password: 'blackair'},\n  function (err, out) {\n\n    seneca.act({role: 'user', cmd: 'login', email: 'nincompoop@deselby.com', password: 'bicycle'}, function (err, out) {\n      console.log('login success: ' + out.ok)\n\n      seneca.act({role: 'user', cmd: 'login', email: 'nincompoop@deselby.com', password: 'blackair'}, function (err,out) {\n        console.log('login success: ' + out.ok)\n        console.log('login instance: ' + out.login)\n      })\n    })\n  })\n})\n```\n\nIn the example code, a user is registered, and then two login attempts are made. The first with an incorrect password, the second with the correct\npassword. The successful login provides a login instance. The `login.id` property can be used to authenticate this login. For example,\nthe [seneca-auth](http://github.com/senecajs/seneca-auth) plugin uses this token as a HTTP authentication cookie.\n\nTo run this example (and the other code in this README), try:\n\n```sh\nnode test/readme.js\n```\n\n## Deeper example\n\nTake a look at the [user accounts example](http://github.com/rjrodger/seneca-examples).\n\n## Usage\n\nTo load the plugin:\n\n```js\nseneca.use('user', { ... options ... })\n```\n\nThe user and login data is persisted using Seneca entities. These have\nnames `sys/user` and `sys/login`.\n\nPasswords are not stored in plaintext, but using an ~10k round salted SHA512 hash. In\nthe context of password reset functionality, this means you can\ngenerate new passwords, but cannot recover old ones.\n[This is what you want](http://www.codinghorror.com/blog/2007/09/youre-probably-storing-passwords-incorrectly.html).\n\nThere are separate actions to encrypt and verify passwords, so you can do things your own way if you like.\n\nTo support different use cases, users can be identified by either a\n`nick` or their email address. The `nick` property is the traditional\n'username', but does not need to be used in this fashion (hence the name 'nick').\n\nAll actions defined by this plugin return meta data objects containing the results of the action. The meta data object\ncontains an `ok` field that is either true or false, indicating the success or failure of the action. For example, a login attempt with an invalid password will result in an `{ok:false,...}`. When relevant, a `why` property is also provided, with a code that indicates the reason for the result. For example: {...,why:'user-not-found'}.\n\n## Options\n\n   * `rounds`: number of SHA512 rounds to use for password encryption, default: 11111\n   * `autopass`: automatically generate an (unrecoverable) password if none is supplied - mostly good for testing, default: true\n   * `mustrepeat`: you must provide a `repeat` argument (a repeat of the password) when setting a password\n   * `resetperiod`: duration in millis that a password reset token is valid, default: 24 hours\n   * `pepper`: used in addition to password salts, a pepper is very similar but is stored in code instead of a database.\n   * `failedCount`: number of failed attempts before the account is locked. Disabled by default.\n\nTo set options, do so when you load the plugin:\n\n```js\nseneca.use('user', { resetperiod: 3600*1000 })\n```\n\n\n## Entities\n\n### User\n\nThe user entity has a default type of `-/sys/user` and standard properties:\n\n   * `nick`: Username, mostly. If not provided, will be set to email value.\n   * `email`: Email address. At least one of nick or email is required.\n   * `name`: Name of user. Just a text field. [Cultural imperialism damages your conversions, ya know...](http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/)!\n   * `active`: if true, user can log in, if false, user can't. Default: true.\n   * `when`: creation time, ISO String, like 2013-03-21T17:32:24.039Z\n   * `salt`: salt for encrypted password\n   * `pass`: encrypted password\n\nYou can add your own properties, but be careful not to use the standard property names.\n\n\n### Login\n\nThe login entity has a default type of `-/sys/login` and standard properties:\n\n   * `id`: authentication token, UUID\n   * `nick`: copied from user\n   * `user`: user.id string\n   * `when`: creation time, ISO String, like 2013-03-21T17:32:24.039Z\n   * `active`: if true, login against this token will succeed, otherwise not\n\nYou can add your own properties, but be careful not to use the standard property names.\n\n\n### Reset\n\nThe reset entity has a default type of `-/sys/reset` and standard properties:\n\n   * `id`: authentication token, UUID\n   * `nick`: copied from user\n   * `user`: user.id string\n   * `when`: creation time, ISO String, like 2013-03-21T17:32:24.039Z\n   * `active`: if true, reset against this token will succeed, otherwise not\n\nYou can add your own properties, but be careful not to use the standard property names.\n\n\n\n## Actions\n\nAll actions provide results via the standard callback format: <code>function(error,data){ ... }</code>.\n\nTo customize the behavior of the plugin, override these actions, and provide your own business logic. You can call `this.prior`\ninside each custom action to perform the default behaviour - see the [Customization] section below.\n\n\n### role:user, cmd:login\n\nLogin an existing user. Creates a new `sys_login` entry.\n\n#### Arguments:\n\n   * `nick`: required if no email, identifies user, alias: username\n   * `email`: required if no nick, identifies user\n   * `password`: password as entered by user, optional if using _auto\n   * `auto`: automatic login without password, default: _false_. Use this to generate login tokens.\n   * `user`: specify user using a sys/user entity - for convenience use inside your own actions, when you already have a user entity loaded\n\n#### Provides:\n\nObject with properties:\n\n   * `ok_: true if login succeeded, false if not\n   * `login`: login entity, id is the login token, used as cookie\n   * `user_: user entity\n   * `why`: indicates reason login failed or succeeded, refer to [source](https://github.com/senecajs/seneca-user/blob/master/user.js) for codes.\n\n\n\n### role:user, cmd:logout\n\nLogout a user. Update _sys/login_ entry to _active:false_. Adds _ended_ field with ISOString date time.\n\n#### Arguments:\n\n   * `token`: existing login token, maybe from a cookie\n\n#### Provides:\n\nSame object format as login command result: {ok:true|false,user:,login:}\n\n\n\n### role:user, cmd:register\n\nRegister a new user. You'll probably call this after a user fills out\na regstration form. Any additional action arguments are saved as user\nproperties. The nick and email fields will be checked for\nuniqueness. The new user is not logged in, use the login action for\nthat.\n\n\n#### Arguments:\n\n   * `nick`: Username, mostly. If not provided, will be set to args.username value, if defined, otherwise args.email value\n   * `email`: Email address. At least one of nick or email is required\n   * `username`: a convenience - just an alias for nick\n   * `password`: Plaintext password, supplied by user - will be stored encrypted and unrecoverable\n   * `repeat`: Password, repeated. Optional - if provided, must match password\n   * `name`: Name of user. Just a text field.\n   * `active`: if true, user can log in, if false, user can't. Default: true\n\n#### Provides:\n\nObject with properties:\n\n   * `ok`: true if registration succeeded, false if no\n   * `user`: new user entity\n   * `why`: indicates reason registration failed, refer to [source](https://github.com/senecajs/seneca-user/blob/master/user.js) for codes`\n\n\n\n### role:user, cmd:auth\n\nAuthenticate a login token, returning the associated `sys/login` and `sys/user` if\nthe token is valid and active. Use this, for example, when handling\nHTTP requests with an authentication cookie, to get the user.\n\n\n#### Arguments:\n\n   * `token`: existing login token, maybe from a cookie\n\n#### Provides:\n\nSame object format as login command result: `{ok:true|false,user:,login:}`\n\n\n\n### role:user, cmd:create_reset\n\nCreate a reset token, valid for a 24 hours (use the `resetperiod` options to alter the validity period). This action\ncreates an entry in the `sys/reset` collection.\n\n\n#### Arguments:\n\n   * `nick`: required if no email, identifies user, alias: `username`\n   * `email`: required if no nick, identifies user\n   * `user`: specify user using a sys/user entity - for convenience use inside your own actions, when you already have a user entity loaded\n\n#### Provides:\n\nObject with properties:\n\n   * `ok`: true if update succeeded, false if not\n   * `user`: `sys/user` entity\n   * `reset`: `sys/reset` entity\n\n\n### role:user, cmd:load_reset\n\nLoad a `sys/reset` entity using a reset token. Use this to load the details of a reset request, possible to confirm with user.\n\n\n#### Arguments:\n\n   * `token`: reset token\n\n#### Provides:\n\nObject with properties:\n\n   * `ok`: true if reset found, false if not\n   * `user`: `sys/user` entity\n   * `reset`: `sys/reset` entity\n   * `why`: reason for failure\n\n\n### role:user, cmd:execute_reset\n\nExecute a password reset action. The user identified by the reset token is allowed to change their password. THe reset must be active, and the validity period must not be expired. On successful reset, the `sys/reset` is deactivated and cannot be reused.\n\n\n#### Arguments:\n\n   * `token`: reset token\n   * `password`: new password\n   * `repeat`: optional, repeat of new password\n\n#### Provides:\n\nObject with properties:\n\n   * `ok`: true if reset found, false if not\n   * `user`: `sys/user` entity\n   * `reset`: `sys/reset` entity\n   * `why`: reason for failure\n\n\n\n### role:user, cmd:encrypt_password\n\nEncrypts a plaintext password, providing the salt and ciphertext. The encyption is `options.rounds` (default:11111) rounds of SHA512.\n\n#### Arguments:\n\n   * `password`: plaintext password.\n   * `repeat`: optional, repeat of password\n\n#### Provides:\n\nObject with properties:\n\n   * `ok`: true if succeeded\n   * `salt`: the salt string\n   * `pass`: the ciphertext string\n   * `why`: reason for failure\n\n\n### role:user, cmd:verify_password\n\nVerifies that a password matches a given salt and ciphertext.\n\n#### Arguments:\n\n   * `salt`: the salt string to use, find this in user.salt\n   * `pass`: the pass string to use, find this in user.pass\n   * `proposed`: the proposed plaintext password to verify\n\n#### Provides:\n\nObject with properties:\n\n   * `ok`: true if password matches\n\n### role:user, cmd:update\n\nUpdates a user.\n\n#### Arguments:\n\n   * `nick`: the nick of the user to be updated\n   * `orig_nick`: if nick will be changed on this update then `orig_nick` will be used to identify the user\n   * `email`: the email of the user to be updated\n   * `orig_email`: if email will be changed on this update then `orig_email` will be used to identify the user\n\nAt least one of these arguments must be present.\n\n#### Provides:\n\nObject with properties:\n\n   * `ok`: true if operation is OK\n\n### role:user, cmd:remove\n\nDeletes an user and all relationed records.\n\n#### Arguments:\n\n   * `nick`: the nick of the user to be updated\n\n#### Provides:\n\nObject with properties:\n\n   * `ok`: true if operation is OK\n\n\n### role:user, cmd:activate\n\nEnables an user.\n\n#### Arguments:\n\n   * `nick`: the nick of the user to be updated\n   * `email`: the email of the user to be updated\n\nAt least one of these arguments must be present\n\n#### Provides:\n\nObject with properties:\n\n   * `ok`: true if operation is OK\n\n### role:user, cmd:deactivate\n\nDisables an user.\n\n#### Arguments:\n\n   * `nick`: the nick of the user to be updated\n   * `email`: the email of the user to be updated\n\nAt least one of these arguments must be present\n\n#### Provides:\n\nObject with properties:\n\n   * `ok`: true if operation is OK\n\n### role:user, cmd:unlock\n\nRemoves the lock form a user account\n\n#### Arguments:\n\n   * `id`: the id of the user\n\n#### Provides:\n\n   * `ok`: true if the account was unlocked\n\n## Logging\n\nTo see what this plugin is doing, try:\n\n```sh\nnode your-app.js --seneca.log=plugin:user\n```\n\nThis will print action logs and plugin logs for the user plugin. To skip the action logs, use:\n\n```sh\nnode your-app.js --seneca.log=type:plugin,plugin:user\n```\n\nYou can also set up the logging programmatically:\n\n    var seneca = require('seneca')({\n      log:{\n        map:[\n          {plugin:'user',handler:'print'}\n        ]\n      }\n    })\n\nFor more on logging, see the [seneca logging example](http://senecajs.org/tutorials/logging-with-seneca.html).\n\n\n### Customization\n\nAs with all seneca plugins, you can customize behavior simply by overwriting actions.\n\nFor example, to add some custom fields when registering a user:\n\n\n```js\n    // override by using the same action pattern\n    seneca.add({role:' user', cmd: 'register'},function (args, done) {\n\n      // assign user to one of 10 random \"teams\"\n      args.team = Math.floor(10 * Math.random())\n\n      // this calls the original action, as provided by the user plugin\n      this.prior(args,done)\n    })\n\n\n    userpin.register({name: \"Brian O'Nolan\", email: 'brian@swim-two-birds.com', password: 'na-gCopaleen'},\n    function (err, out) {\n      console.log('user has team: ' + out.user.team)\n    })\n```\n\n## Contributing\n\nThe [Senecajs org][] encourages open participation. If you feel you\ncan help in any way, be it with documentation, examples, extra\ntesting, or new features please get in touch.\n\n## Test\n\n```sh\nnpm test\n```\n\n## License\n\nCopyright (c) 2012-2016, Richard Rodger and other contributors.\nLicensed under [MIT][].\n\n[MIT]: ./LICENSE\n[npm-badge]: https://badge.fury.io/js/seneca-user.svg\n[npm-url]: https://badge.fury.io/js/seneca-user\n[travis-badge]: https://api.travis-ci.org/senecajs/seneca-user.svg\n[travis-url]: https://travis-ci.org/senecajs/seneca-user\n[coveralls-badge]:https://coveralls.io/repos/senecajs/seneca-user/badge.svg?branch=master&service=github\n[coveralls-url]: https://coveralls.io/github/senecajs/seneca-user?branch=master\n[david-badge]: https://david-dm.org/senecajs/seneca-user.svg\n[david-url]: https://david-dm.org/senecajs/seneca-user\n[gitter-badge]: https://badges.gitter.im/senecajs/seneca.svg\n[gitter-url]: https://gitter.im/senecajs/seneca\n[Senecajs org]: https://github.com/senecajs/\n[seneca-basic-url]: https://github.com/senecajs/seneca-basic\n[seneca-entity-url]: https://github.com/senecajs/seneca-entity\n","maintainers":[{"email":"georgi@omnispectivity.com","name":"georgigriffiths"},{"email":"richard.rodger@nearform.com","name":"rjrodger"}],"time":{"modified":"2022-06-26T17:40:48.711Z","created":"2012-12-18T00:57:02.147Z","0.1.1":"2012-12-18T00:57:04.025Z","0.2.0":"2013-02-25T06:23:19.125Z","0.2.1":"2013-05-29T18:58:46.496Z","0.2.2":"2013-07-09T15:23:36.530Z","0.2.3":"2013-08-22T11:10:47.868Z","0.2.4":"2013-08-29T18:42:10.625Z","0.2.5":"2013-09-02T20:13:40.638Z","0.2.6":"2013-09-19T22:59:29.978Z","0.2.7":"2014-01-28T10:45:22.224Z","0.2.8":"2014-04-09T12:43:24.773Z","0.2.10":"2014-07-06T08:12:34.298Z","1.0.0":"2016-02-12T11:32:45.896Z","1.0.1":"2016-04-15T14:16:01.464Z","1.0.2":"2016-05-24T11:05:57.773Z","1.1.0":"2016-07-22T12:37:55.652Z","2.0.0":"2016-08-16T13:12:07.907Z","2.1.0":"2016-08-25T18:08:12.013Z","2.1.1":"2017-06-06T11:52:34.653Z","2.1.2":"2019-05-21T15:52:09.907Z","2.1.3":"2019-05-22T09:52:17.891Z","2.1.4":"2019-05-22T11:49:32.514Z","2.2.0":"2020-01-29T16:33:54.889Z"},"author":{"name":"Richard Rodger","email":"richard@ricebridge.com","url":"http://richardrodger.com/"},"repository":{"type":"git","url":"git+https://github.com/senecajs/seneca-user.git"},"readmeFilename":"README.md","homepage":"https://github.com/senecajs/seneca-user#readme","keywords":["seneca","user","plugin"],"bugs":{"url":"https://github.com/senecajs/seneca-user/issues"},"license":"MIT","contributors":[{"name":"Mircea Alexandru","email":"mircea.alexandru@gmail.com","url":"http://www.alexandrumircea.ro"},{"name":"Cristian Kiss","email":"kissdevel@gmail.com","url":"https://github.com/ckiss"},{"name":"Mihai Dima","email":"mihaizn@gmail.com","url":"https://github.com/mihaidma"},{"name":"Adrien Becchis","url":"https://github.com/AdrieanKhisbe"},{"name":"Shane Lacey","url":"https://github.com/shanel262"},{"name":"Otávio Augusto Soares","url":"https://github.com/otaviosoares"},{"name":"Dean McDonnell","url":"https://github.com/mcdonnelldean"},{"name":"Nicolas Herment","url":"https://github.com/nherment"},{"name":"Paolo Chiodi","url":"https://github.com/paolochiodi"},{"name":"Emer Rutherford","url":"https://github.com/eeswr"},{"name":"Matteo Collina","url":"https://github.com/mcollina"},{"name":"Wyatt Preul","url":"https://github.com/geek"},{"name":"rithdmc","url":"https://github.com/rithdmc"},{"name":"Guy Ellis","url":"https://github.com/guyellis"},{"name":"Cian Butler","url":"https://github.com/butlerx"},{"name":"Sorin Silaghi","url":"https://github.com/sorin7486"}]}