{"_id":"passport-ldapauth","_rev":"63-2d27e760ef066d3b5d841a4e620b98d1","name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","dist-tags":{"latest":"3.0.1","next":"3.0.0-rc.2"},"versions":{"0.0.3":{"name":"passport-ldapauth","description":"Passport authentication strategy for LDAP","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.0.3","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth":"~2.0.0","passport":"~0.1.1"},"devDependencies":{"mocha":"1.9.x","chai":"1.5.x","ldapjs":"0.6.x","express":"3.1.x","supertest":"0.5.x"},"scripts":{"test":"NODE_PATH=lib mocha test/*-test.js"},"_id":"passport-ldapauth@0.0.3","dist":{"shasum":"c78afa68d4d71d4bc22e0b0dd73ae36d271cc4b1","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.0.3.tgz","integrity":"sha512-+nhaqT0a1NHrnZW+A0ZM23SyBuXMIUSOZh5jAoZsBHzfCABOmakfQbyq6GPAKmuJWUx45EJDm7gtzLadgC5cVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5CouIdvN0oSup0SWqgjCe28HSJbsXsi1oq5HI/XthDwIgRuMUQU9j9X+/2p/HrQwzOrkfTj7+pmVVUPwuDp8mkhU="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{}},"0.0.4":{"name":"passport-ldapauth","description":"Passport authentication strategy for LDAP","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.0.4","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth":">=2.0.0","passport":"~0.1.1"},"devDependencies":{"mocha":"1.9.x","chai":"1.5.x","ldapjs":"0.6.x","express":"3.1.x","supertest":"0.5.x"},"scripts":{"test":"NODE_PATH=lib mocha test/*-test.js"},"_id":"passport-ldapauth@0.0.4","dist":{"shasum":"7df4a4a340315859197336f7c1b6753dbed38791","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.0.4.tgz","integrity":"sha512-NJ1Zv2qGfaxAVRSZ+rXU3PzkggNrD6xETBzU2T5Uw+YaWEzbsoAPwndgjElfuiHmshIpaHCYDuIJm588ZpDxCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOQyEPrgxUQF3dnV9Q5mtUeArclt3WKPuCChdcucJIeQIgdNnhQAoTpjVAnfMumLjAmvqO8+JLQ7EGtfpf4Ifgk38="}]},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{}},"0.0.5":{"name":"passport-ldapauth","description":"Passport authentication strategy for LDAP","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.0.5","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth":">=2.0.0","passport":"~0.1.1"},"devDependencies":{"mocha":"1.9.x","chai":"1.5.x","ldapjs":"0.6.x","express":"3.1.x","supertest":"0.5.x"},"scripts":{"test":"NODE_PATH=lib mocha test/*-test.js"},"_id":"passport-ldapauth@0.0.5","dist":{"shasum":"f46776e90aa79f569ea6501753ff610294669b2f","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.0.5.tgz","integrity":"sha512-j9pnKoqSUatuV6CTV3P9gIDQeYsZJaAC/NQh/T2QT5GpoOkO5g0FubVtoyV7c9nlQ6rQKVG+1YlB+GahlmqwVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8kcGshaXcd43WP35S0MxOPsi/Nu9/ijePLvMcOpntQgIgPrqFr9y330MKpkRGD49gh9fC0NozctGSrVTZi2Y5jcM="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{}},"0.0.6":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.0.6","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth":">=2.0.0","passport":"~0.1.1"},"devDependencies":{"mocha":"1.12.x","chai":"1.7.x","ldapjs":"0.6.x","express":"3.3.x","supertest":"0.7.x"},"scripts":{"test":"NODE_PATH=lib mocha test/*-test.js"},"_id":"passport-ldapauth@0.0.6","dist":{"shasum":"cbbb8d2b4887af92e89c740e1f81875d449ed4bc","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.0.6.tgz","integrity":"sha512-JVdeVs8k9vJP8d/Bj795W46FwjhKISUyOityHD0rGkRiy/jOQy3xJON97GdOs5WhownJy5ruiiJj0DP3Li8B0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8IhAE1dpIekWigwqQbJEkf9Nx+c8oHrJUktcBXvjmewIgZwWBAvLOvB1jbBgU57IeE2coPv8g7EI0JjTMH+WU8BE="}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{}},"0.1.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.1.0","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth-fork":"~2.2.5","passport":"~0.1.17"},"devDependencies":{"mocha":"1.12.x","chai":"1.7.x","ldapjs":"0.6.x","express":"3.3.x","supertest":"0.7.x"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"_id":"passport-ldapauth@0.1.0","dist":{"shasum":"4e98fc329a109dc3fbf39adc0cdf28a1a84bf8f3","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.1.0.tgz","integrity":"sha512-8rXLLXOjrsoxx9jjYc93vIwrzUzfgBtY1QPsiscC9oTYxP3krxX+7A5sRPo4uzf/GK8P8c2SZ5pC/ez2rOx5lw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOEmn3IRXtColHS2huATOm9Qh2dOOLUiTBT0td5wmiEQIgTDLPYcav4pCADgDTZDgOCfj3pXXMSeP9icFikiEh5Gg="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{}},"0.1.1":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.1.1","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth-fork":"~2.2.5","passport":"~0.1.17"},"devDependencies":{"mocha":"1.12.x","chai":"1.7.x","ldapjs":"0.6.x","express":"3.3.x","supertest":"0.7.x"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"_id":"passport-ldapauth@0.1.1","dist":{"shasum":"f97017a38b93928c10346c9011e532312c3700b7","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.1.1.tgz","integrity":"sha512-3+IT4ortS95jlOJzzILx85O6/nETja9C+EqXmtUd5ay/H+Wzo7zj8npRDG8Kr0QAOjWhv3zhV/JZJ2YBaR4wMg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGZcPzQsYA4fx6w/tqirdaRXIeMO81allcRHh4lncM0MAiB9+CcgL5keIsPuSWftlKAP/PCyC4gnjJSP4FL5cBoDsA=="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{}},"0.1.2":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.1.2","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth-fork":"~2.2.5","passport":"~0.1.17"},"devDependencies":{"mocha":"1.14.x","chai":"1.8.x","ldapjs":"0.6.x","express":"3.4.x","supertest":"0.8.x"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.1.2","dist":{"shasum":"30bcab351a6a3c0a211042cc59a11d2f4bc5402c","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.1.2.tgz","integrity":"sha512-uCTyBo+/Ndey+x9gFf6id2fA9KAQAfO4CgZLoAmu0nfdV3L/SAiubew2nzmiJUjv/LFqX3laCIEknA7qfzQRsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEhNwZZPkoUiEknbR4Za43dl/b0PkoDosHJ7VPsYUMuUAiEAiKDYK5BVGNXf9dJVWuntgDralye/mGXCeILH+GR5tUY="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{}},"0.2.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.2.0","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth-fork":"~2.2.5","passport":"~0.2.0"},"devDependencies":{"mocha":"1.17.x","chai":"1.9.x","ldapjs":"0.7.x","express":"3.4.x","supertest":"0.9.x"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.2.0","dist":{"shasum":"c938778a2668a9aee1c9c2b185ebb88ee100e794","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.2.0.tgz","integrity":"sha512-wlfGM/SlvzLTUv5aux5KVOpb2Qyk+wtZujekYM+S+SN0Qua/OjL3mrP3FL+As/O9Uzch4yCNyXoDSTD1uku3iA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLuKnHmEGG2LeP65Z/lTvlDSSMOUuoTHjEBirDSunQ0wIhAJWQXBUvVAL5dKVbtLdL91OSs1QXAWQIM6fS01vuVW0G"}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{}},"0.2.1":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.2.1","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth-fork":"~2.2.13"},"peerDependencies":{"passport":"~0.2.0"},"devDependencies":{"body-parser":"1.3.x","chai":"1.9.x","express":"4.4.x","ldapjs":"0.7.x","mocha":"1.20.x","supertest":"0.13.x","passport":"~0.2.0"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.2.1","_shasum":"ca83fe3be03a80501f546ca3a9d50f4a419e59e1","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"ca83fe3be03a80501f546ca3a9d50f4a419e59e1","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.2.1.tgz","integrity":"sha512-cFsKKISHpZpmCSvXFdeZ/2Vdewz+ggs7RyznjRzbTdDQ+a4TeLMDaVBDSri0vXL5eMIOD6YHiVC8d4O+NrC3nA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPBxQgsnusDrqvdqFRrKBaTZhf8mixNw5cDxo8ob5DbQIhAKz537NzTeJoWnJtJ9kwnKSnB+FFSO+oqtPzbSFoDoJ0"}]},"directories":{}},"0.2.2":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.2.2","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth-fork":"~2.2.13"},"peerDependencies":{"passport":"~0.2.0"},"devDependencies":{"body-parser":"1.9.x","chai":"1.9.x","express":"4.9.x","ldapjs":"0.7.x","mocha":"1.21.x","supertest":"0.14.x","passport":"~0.2.0"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.2.2","_shasum":"b32ded0888e57f5c7c68d98ddf7d3ba348e23b31","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"b32ded0888e57f5c7c68d98ddf7d3ba348e23b31","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.2.2.tgz","integrity":"sha512-+g+DRUPfcbSN1fNGoYje9t3kCF+IMzUu7XKkPgc4XCTlta0Z3Y30GjoB7MyCb4vzQFVYpDrZyBySKnok70RAhA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChi7iG0eJb81nPA30gF+qanWGFSGpsx/2zvDicfq3DtwIhANc9xTg+zVHLHH3NQjnOwBsf4FxsesKs8PNb5LXOf1WH"}]},"directories":{}},"0.2.3":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.2.3","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth-fork":"~2.2.17"},"peerDependencies":{"passport":"~0.2.0"},"devDependencies":{"body-parser":"1.9.x","chai":"1.9.x","express":"4.9.x","ldapjs":"0.7.x","mocha":"1.21.x","supertest":"0.14.x","passport":"~0.2.0"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.2.3","_shasum":"5f21ccf0c39a258bff0266a79f16c12eb3958ab9","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"5f21ccf0c39a258bff0266a79f16c12eb3958ab9","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.2.3.tgz","integrity":"sha512-lkk06tpOpJ/REek6s9gTdih6PA2noe2ZTalqFPmMqeoQvipFKXTx4b5/wq7cNQX3bOysoClHygz/Sm5gF7bQMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDt0Daba3+Oh97i7vxMAoc8Jupcu8NhsyhsohzM1kTmMQIhAPvBOTLIMXQ7xfJFBR9zKvZNERkVlZEzK9lldNksFzLn"}]},"directories":{}},"0.2.4":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.2.4","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"passport-strategy":"1.x.x","ldapauth-fork":"~2.2.18"},"devDependencies":{"body-parser":"1.10.x","chai":"1.10.x","express":"4.9.x","ldapjs":"0.7.x","mocha":"2.1.x","supertest":"0.15.x","passport":"~0.2.0"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"gitHead":"970a1811fe59ade43a16a11c753d4c09b5edf5f0","homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.2.4","_shasum":"a4cb71a0151fb367a6a3156b657397e4c9c1bf98","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"a4cb71a0151fb367a6a3156b657397e4c9c1bf98","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.2.4.tgz","integrity":"sha512-ZYL3o2Iwm0r5QKiUWSlGuZliCRKPoBihOdmYbfqH860BQE1cSuLSaMx2YAcEetiKV80JXLv8LBYiCf0l1c+zMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/Y3U6MNEx9/xKUNUCi1hyVu5wpivnlGxPAuhkPBgZ7AIgb0/b/eeAtRAmhrE1qbbPOQ0dJGjsYN2AVzCZJ/4jv5A="}]},"directories":{}},"0.2.5":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.2.5","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"passport-strategy":"1.x.x","ldapauth-fork":"~2.2.18"},"devDependencies":{"body-parser":"1.10.x","chai":"1.10.x","express":"4.9.x","ldapjs":"0.7.x","mocha":"2.1.x","supertest":"0.15.x","passport":"~0.2.0"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"gitHead":"0f45e34219d8e89160e6aee1c029c081723d2622","homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.2.5","_shasum":"90cc418ae04118291be422465d8e58d41743185f","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"90cc418ae04118291be422465d8e58d41743185f","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.2.5.tgz","integrity":"sha512-E5j3MOxq3+Vi4/wtZz9ry3mQVwaW/FmNAzKM3RN3Uq9HfTu0iA50CGgsNq+7h1hxCSf05rZeDDGaVZzScDgy1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFtx+/zO/aY/lzuhbN3X2ZMQdQwjjWxnw6vKmwAEYnDYAiA22QGhYFbRLCXxINXGkuBIYVVVjZdwZfKDXPSiga9dAg=="}]},"directories":{}},"0.2.6":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.2.6","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"passport-strategy":"1.x.x","ldapauth-fork":"~2.2.18"},"devDependencies":{"body-parser":"1.10.x","chai":"1.10.x","express":"4.9.x","ldapjs":"0.7.x","mocha":"2.1.x","supertest":"0.15.x","passport":"~0.2.0"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"gitHead":"9fd38f3df7df37e36d85a749206c5b5e015f4b2b","homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.2.6","_shasum":"8f777fb2a242a16f966e4f804258f0339abb33b8","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"8f777fb2a242a16f966e4f804258f0339abb33b8","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.2.6.tgz","integrity":"sha512-34P7wIL3go6U6ajj6KgitHBc/6yDPietiOKNY1RJDL647yYZkoFar1VnVr3XH7vo6QzqHB0K3YYFbYPlj3FDUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCN8sVUiGn5FpW9gZEYL2qC1AWK9oPUf1VY9+MlH/AqhAIgAPBu6I+OQ5mE09DslCxm14Rp29LbLY9jTVNVVsCWCvg="}]},"directories":{}},"0.3.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.3.0","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"passport-strategy":"1.x.x","ldapauth-fork":"~2.3.0"},"devDependencies":{"body-parser":"1.12.x","chai":"2.1.x","express":"4.9.x","ldapjs":"0.7.x","mocha":"2.1.x","supertest":"0.15.x","passport":"~0.2.0"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"gitHead":"d4db47ca990b3201e2cc6c6cc6d7633b54ccb8eb","homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.3.0","_shasum":"8078b732d8e5687c86b37315c459a8d70bfacd4b","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"8078b732d8e5687c86b37315c459a8d70bfacd4b","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.3.0.tgz","integrity":"sha512-hNPo7/ZrU4Gix9QP0rxyhZjaMzjG1ykDcQxzxgqmSDJkkyyzlkvEwvzVx7tK5xYZkcnHSgejeXr5b4QH8tj9Cg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGoOToFu2FIdyHNZr2AhMR2HznqZtmV6pnxFzt4tDMCrAiEAusBRiyUoZuKs6xDMMrffFORDLCGisKYaHD3BMZYyvaU="}]},"directories":{}},"0.3.1":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.3.1","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"passport-strategy":"1.x.x","ldapauth-fork":"~2.3.0"},"devDependencies":{"body-parser":"1.14.x","chai":"3.3.x","express":"4.9.x","express-session":"1.11.x","ldapjs":"0.7.x","mocha":"2.3.x","passport":"0.3.x","supertest":"1.1.x"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"gitHead":"c19342f8cd0b8dee8552b448a109e0333fc415e1","homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.3.1","_shasum":"dfa43ddd5293434d6c92d1028e58b142232ae881","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"dfa43ddd5293434d6c92d1028e58b142232ae881","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.3.1.tgz","integrity":"sha512-GEmzp9Ul2mjC8zg7EQzQCG1NE/14MDHhd9JNaBWMiMq7Xj8p7IJk68Hl7Y9RKZOO/FB2AHBGT3nHE22SwQNxVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlSlJbspio8dIwG4F+DOI/pnfW1/05cNmNLmFDlAxXTQIhAJ0Eeob2T2krN9tw7NlxKOH6rFEoSPQWuPEuWYBwzKAo"}]},"directories":{}},"0.4.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.4.0","license":{"type":"MIT","url":"https://github.com/vesse/passport-ldapauth/raw/master/LICENSE"},"main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"passport-strategy":"1.x.x","ldapauth-fork":"~2.4.0"},"devDependencies":{"body-parser":"1.14.x","chai":"3.4.x","express":"4.9.x","ldapjs":"1.0.x","mocha":"2.3.x","passport":"0.3.x","supertest":"1.1.x"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"gitHead":"d35e11d2da3cfdf9aa464360e3edbf22d9558f3e","homepage":"https://github.com/vesse/passport-ldapauth","_id":"passport-ldapauth@0.4.0","_shasum":"1d602923c59b7eadb5b925927bb1944a18d97eae","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"1d602923c59b7eadb5b925927bb1944a18d97eae","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.4.0.tgz","integrity":"sha512-3IqyikKJy6b4MiqkLymVkRhfL6FMHjoOT98TnPtjBUN0kjnhoUr2bsJrpICCGbz8SS0xDzFg/oeJPXNVVbCwPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC9JJ9G/Ih804brIYIOkGVAtC7byyxscdUFh8s0XcRskAiAS3TV7YPOAnTqbSxQdVwQ8ei1qzxVGoMEdhNeHKtkYuw=="}]},"directories":{}},"0.5.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.5.0","license":"MIT","main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"passport-strategy":"1.x.x","ldapauth-fork":"~2.5.0"},"devDependencies":{"body-parser":"1.14.x","chai":"3.4.x","express":"4.13.x","ldapjs":"1.0.x","mocha":"2.3.x","passport":"0.3.x","supertest":"1.1.x"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"gitHead":"6de855da38c884f181aca2f94fef50defc0529fc","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@0.5.0","_shasum":"509011488b8eac9578748099ff666be2dd69aadc","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"509011488b8eac9578748099ff666be2dd69aadc","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.5.0.tgz","integrity":"sha512-/esb+3qDs9rwGOAaFHxRr220hLZQRAxxYmOupYhqu1aejNCx/zhPzluYb0LpthxB+jT1FWmUn/E+Z8cXc6QL1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQDYm1Ox6ZLDZ5ndW07X76dPnzfFUAzny9Pk8lqNNdVdiAIfGUhNathdQwH9DbKCJyNIldfk/gj7ucmJ4JgL8wvxDg=="}]},"directories":{}},"0.6.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"0.6.0","license":"MIT","main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"passport-strategy":"1.x.x","ldapauth-fork":"~2.5.0"},"devDependencies":{"basic-auth":"1.0.x","body-parser":"1.15.x","chai":"3.5.x","express":"4.14.x","ldapjs":"1.0.x","mocha":"3.0.x","passport":"0.3.x","supertest":"2.0.x"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"gitHead":"f9105d3ec693d5144303f602c88f3c3797ed5c53","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@0.6.0","_shasum":"4829eb073e1f4632fae3d1795e7e0f49af46bf92","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"4829eb073e1f4632fae3d1795e7e0f49af46bf92","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-0.6.0.tgz","integrity":"sha512-gOqWxKmiPd1KMIu2yOJhXFukRN1mR881p6/G6S95MXRbX4irRfGHA0UrueXbdnCFnB36+uKlCU8HQ4Kelr3bKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLFLcmmps3K2Id6i0Vo1BiZHLUBqKrtuPxZi537yDFqAIgM+JjS/xDgYXb2HIKTnkbW99i81oGoDmODebO4CzZgN4="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/passport-ldapauth-0.6.0.tgz_1473834849024_0.9746240030508488"},"directories":{}},"1.0.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"1.0.0","license":"MIT","main":"./lib/passport-ldapauth","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"passport-strategy":"1.x.x","ldapauth-fork":"~3.0.0"},"devDependencies":{"basic-auth":"1.1.x","body-parser":"1.15.x","chai":"3.5.x","express":"4.14.x","ldapjs":"1.0.x","mocha":"3.2.x","passport":"0.3.x","supertest":"2.0.x"},"scripts":{"test":"NODE_PATH=lib mocha --reporter spec test/*-test.js"},"gitHead":"953a3192d1eb3120f8575977306d19bf150dc489","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@1.0.0","_shasum":"bdfd0d87adfee2179284c0e17891b287131e9e74","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"bdfd0d87adfee2179284c0e17891b287131e9e74","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-1.0.0.tgz","integrity":"sha512-Qtn9XzH+q/b/Yd8ptj7NOGNtDiNFtj2Cf5bsbbuCPGoPhWM6daFjYjbnFyECRK+JjtNndpauWfKbSoKmBzfZKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCp2IrETFzugXclD8QFGfYtsgmKTgZMJxvvkiBdFzgdZgIhAIcOThn2VrDBSA9DRodxUjSPgQRQ0akSywWj+tFlkM05"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/passport-ldapauth-1.0.0.tgz_1483387545716_0.7943672940600663"},"directories":{}},"2.0.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"2.0.0","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"@types/node":"^7.0.23","@types/passport":"^0.3.3","ldapauth-fork":"^4.0.1","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.1","@types/bunyan":"^1.8.0","@types/express":"^4.0.35","basic-auth":"^1.1.0","body-parser":"^1.17.2","bunyan":"^1.8.10","chai":"^4.0.1","eslint":"^4.0.0","express":"^4.15.3","ldapjs":"^1.0.1","mocha":"^3.4.2","passport":"^0.3.2","supertest":"^3.0.0","typescript":"^2.3.4","watch":"^1.0.2"},"scripts":{"prepublish":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:typescript":"cd test/typescript && tsc"},"gitHead":"4a93801cafe447cd81c2a05507e111d064b2f856","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@2.0.0","_shasum":"42dff004417185d0a4d9f776a3eed8d4731fd689","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"dist":{"shasum":"42dff004417185d0a4d9f776a3eed8d4731fd689","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-2.0.0.tgz","integrity":"sha512-Vv+WIBPmWmSoQs4RXALyf1UoaJbQoAqkpFovLznh6UlfWUoGx9TFo3wQMhn7lriy3q+bGvyOEhBBBmoU+9Cc9A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAUSRh5OtPQVtpHBJk4Rkw2vgIP+DL9Y+HOvMxsvJYBfAiEAwJfMBjGiSL0TKj/8QsIZt/OLMRzrSF/Vrd1P8m83GAk="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth-2.0.0.tgz_1497375374098_0.08981162612326443"},"directories":{}},"2.1.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"2.1.0","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"@types/node":"^7.0.23","@types/passport":"^0.4.6","ldapauth-fork":"^4.0.1","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.1","@types/bunyan":"^1.8.0","@types/express":"^4.0.35","basic-auth":"^2.0.1","body-parser":"^1.17.2","bunyan":"^1.8.10","chai":"^4.0.1","eslint":"^5.6.0","express":"^4.15.3","ldapjs":"^1.0.1","mocha":"^5.2.0","passport":"^0.4.0","supertest":"^3.0.0","typescript":"^3.0.3","watch":"^1.0.2"},"scripts":{"prepublish":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:typescript":"cd test/typescript && tsc"},"gitHead":"0033a911bb30e2d55c3ab36f5a6bb37de85b15c3","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@2.1.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"dist":{"integrity":"sha512-znZdKW4f1bn4F8MRMzHog8fauSZictsC4GlOTs7ks4pL6HSSFuIZdxr/pnYkRJG+dmdLOqzOBXeFXZJIg4CFQg==","shasum":"7d113c6d118504ee76e671b27828c88371b90815","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-2.1.0.tgz","fileCount":15,"unpackedSize":54639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqxvHCRA9TVsSAnZWagAALE8P/jJNHT9LCnpZSv2hh7N/\nlYjGSOX/KOiFdqPql9MyGBlLeDdQLEJLtyKnY25bfqnDMVFfX/VOTVk8ev7b\nxlkAvAcGO+H0JhgTW7osxUwEstyfEhoKipfVmXrX9QKrZmeVp0ChhoMTJCWs\nOl/VIE0nVNs1wtfuCdGfWtqCKOzMrnoY6eVhIkub59CaccnpGqZpktjhAaBD\nC/y2+LU53GXC1Rgs063FUeJ3UumOwMwCrWYDJNYza4wn9P63KShMGLwCYiOa\nenCzCrbWGsGl3B69e3W0gzgySJ6bIvxocOlxmoguz5w56AMZSM12m3wAc2Zq\nIZOG3cTHXLEqzg4X8udakQymBPs5SBMjL3F1nNiCT386hMSijxisYvWM8T0+\nflbjINBV7kkfvpUMP7ssd95hMnf2d4v9/oxdF8Pq61XzQKueWvcgAeEX78b2\nDqJBuF0PgUw+6vnds4YXtM3dYO4zV/WT8R1c6ktaf26Yd+E1oroV+wo2ZmFA\na25VuF5hbJa/WB5jWDs4MDlNUFGZ45mpzisRHBhp6NVCoZJ9qtJCa1XFlurE\nJBHBq1v1WvIvuHS2+2tAL+Mqh8FVNcFpgGm1SeXNhbDteGbGkvA/XkagDAy+\njKKZh91ee08QMGt5ub63vmgMlLqseMqeJT44N4oPHx2PQW/vGKGlBHdp1zms\nDhHk\r\n=IJaU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDntX3jWLDss+ndMaNVF0U8IznotZgUq7/CXxSlhduDDAiBJX5hYUSbpXAEK+arvx6Z4n0qQiO3dytSINrBx4iDQ7g=="}]},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth_2.1.0_1537940423302_0.38668875944828596"},"_hasShrinkwrap":false},"2.1.1":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"2.1.1","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"@types/node":"^10.12.12","@types/passport":"^0.4.7","ldapauth-fork":"^4.1.0","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.1","@types/bunyan":"^1.8.5","@types/express":"^4.0.35","basic-auth":"^2.0.1","body-parser":"^1.17.2","bunyan":"^1.8.10","chai":"^4.2.0","eslint":"^5.9.0","express":"^4.16.4","ldapjs":"^1.0.1","mocha":"^5.2.0","passport":"^0.4.0","supertest":"^3.0.0","typescript":"^3.2.1","watch":"^1.0.2"},"scripts":{"prepare":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:typescript":"cd test/typescript && tsc"},"gitHead":"cabb42e4979486e97e7a6c0547f4fa5a804e6330","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@2.1.1","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"dist":{"integrity":"sha512-DiK9nwZthdCeZE+TRx2AzRk9mg8OeAz4+tZdXC8EPVAVmeW7YSWyK4XCJ8/B7ySWpEZtrN1OcrKtWjpLXFy0/A==","shasum":"4b4478cd283c82de896069a3e427ef8cfa295fe1","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-2.1.1.tgz","fileCount":15,"unpackedSize":54872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBYN8CRA9TVsSAnZWagAApHcP/jHN+1agcd+ch43ke1DD\nxPUObdzZzfyNfqNrqeS7V2mXSvLoOe+Yi8XoibU1kINqiQuuGG56Znh34fw7\n/rdZkpNP9C+OYy+pC7Lud9+RYF47579LWmXbyvgWRKfTsnDcTm91LRJDPO+g\nUKOVX3ElQ4dWShk90631SsQ4mm6n4iFZDPjJUaOLiLXAstOfEJyzC3SkHCWV\ne2THHDZCSG0Sip/yH1qtwVrj03n3gHhyrmAq+oiDKqa0errbNc6wVsYwFeKj\nlnez/R8Nuycwt93cnw+0ewmzAdmCD6Lb2Vxas1YAAldS94X1gPfNUQNWJMEW\nFXcEkSB9Tfa4dJ+diGMccUw/QMIaWjueyiq5YcMVPrzf+wnr78P6KTw3Ys5s\n1zPhWJcphodRSHnufLpi4OSfKgjbYKfAXhFpqTMlT1lnw+EM/XDXsja8F3NT\ntDnbX9qdQZxkSvc1ZRFQKjaLlw846qSf48xIRhsmxTwEF1pFo5kM2xowGMpu\nggRWteZA4FG2Yn+0uGWCaVzWvH1xjGX5OWrCogPdN/TBCTGpjWe1t4JgLi5c\ncFKGYDt+rscEuC/Cq2FCTThjfZsDQauDRI04sovMqE402wn+/gnV+Z0sqKNK\naGsfcKuMRjDr+inn6ZT02VBCxPGMkq9pGjeHncYy8gTdUnxC70pLPqUMUv8e\nxZ+G\r\n=TBps\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCI6aNrw92ACo1GR62Wc9ns7R+GZjgcP6VArHeDfDxGKwIhALzbRpkaJFNgN1nWfyj03r3GN7C7u6BRSDRkzexFfnDc"}]},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth_2.1.1_1543865212118_0.5405953904770786"},"_hasShrinkwrap":false},"2.1.2":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"2.1.2","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"@types/node":"^10.12.26","@types/passport":"^1.0.0","ldapauth-fork":"^4.2.0","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.1","@types/bunyan":"^1.8.5","@types/express":"^4.16.1","basic-auth":"^2.0.1","body-parser":"^1.17.2","bunyan":"^1.8.10","chai":"^4.2.0","eslint":"^5.13.0","express":"^4.16.4","ldapjs":"^1.0.1","mocha":"^5.2.0","passport":"^0.4.0","supertest":"^3.4.2","typescript":"^3.3.3","watch":"^1.0.2"},"scripts":{"prepare":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:typescript":"cd test/typescript && tsc"},"gitHead":"856c5d05c4fff5f09c4d022d737fdda989bd2e10","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@2.1.2","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"dist":{"integrity":"sha512-V+oYNhJwW/ncYHS1IX3eVN9TUH38OsD15Cwo8w+FIV+GXKFJRtUhZyt5nNwExyU0ujMya8Rtzm04+4d8BjvBUg==","shasum":"42479ccac2435735a5479e9b626f4353280c8fe7","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-2.1.2.tgz","fileCount":15,"unpackedSize":55054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZDrbCRA9TVsSAnZWagAA5dkP+wXEoShb20vdkCMvfKaI\nvQP4B7kNxkIUBYgflCF6ndhpVazpenWop7vmPuSAfPGAQNuBYZiJZt18/ndX\n2Y2cAfpEdCWwADoi0XOjbhPfFQuAmYtwrCg1D0tbG0w65RT42Z8TdyIef6R1\nUKV3NDVaaajzjcBsneIMaPHt4fPrNOKEHr0qYMVgTGoXqf5k9qvWlASm24Vp\nZrktlsqqFpHrmCk02Zz9sUxOjgpr3ouW1NDcut39sxT9qN6AGSvdOY2A9vCA\nTiT+O8QmoxJ6GWf3PjD12sldAQ7SUHgf1ZdVSgJSvtJDP+09hoUifqqfDegH\nIqr8bZaf0CaHJd4TauDPbLb94CM+27Wr+hKDDQsHz20T+NVWI7SQCZcdRabT\nqhkS6OLdLNlfcXqjIkvLImeIUMbFKSCRPi3nMKmKVdhK/mSNpUx22LIryyrh\nxrAK7BzCMIBHvKQl8+UDe42Q+xjKQ43wvsuVBdVziRxswHQ2pnoB9XPRlzCk\npPNhm2CxGRJ1w4A5w6GEZT07x4lLT1AGYBfh+mU+5x4AUih4jq5eXYreIrTR\neky5JrPCh76xJUKAo6nKubIUYfOASqjeLY0N50VLA7UXWew9dWPVv6fyVpPj\ntMy0PEoxHyhfiM3Su82XSIlafeGR4g0kaf9A3PAuSOBzBzMZFVwJrt5Yy0Mo\nxh7r\r\n=0+ic\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjMrlnVGYUaAs+RKrr+oNqFGZPkcENCBsrUxB9vBcFNQIgOTCdwfuF+MmG9vgABN90pnHklTQRHZfJnvrY1HsOeRM="}]},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth_2.1.2_1550072538800_0.4578185820486693"},"_hasShrinkwrap":false},"2.1.3":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"},{"name":"David Dolcimascolo","email":"david.dolcimascolo@stordata.fr"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"2.1.3","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"@types/node":"^10.12.26","@types/passport":"^1.0.0","ldapauth-fork":"^4.2.0","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.1","@types/bunyan":"^1.8.5","@types/express":"^4.16.1","basic-auth":"^2.0.1","body-parser":"^1.17.2","bunyan":"^1.8.10","chai":"^4.2.0","eslint":"^5.16.0","express":"^4.16.4","ldapjs":"^1.0.1","mocha":"^6.0.2","passport":"^0.4.0","supertest":"^4.0.2","typescript":"^3.4.1","watch":"^1.0.2"},"scripts":{"prepare":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:watch":"watch 'npm test' ./lib ./test --wait 0.5","test:typescript":"cd test/typescript && tsc"},"gitHead":"ecb44fe2e7fb602275a05d846dbeaa7fd532d559","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@2.1.3","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"dist":{"integrity":"sha512-23n425UTasN6XhcXG0qQ0h0YrS/zfo8kNIEhSLfPsNpglhYhhQFfB1pmDc5RrH+Kiz5fKLkki5BpvkKHCwkixg==","shasum":"833530c31c1e2f8d2ab7a1ff97339291074dc6f6","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-2.1.3.tgz","fileCount":15,"unpackedSize":55972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcolU8CRA9TVsSAnZWagAAJeUP/j3vQwbSlYc6EdvcxQ0D\nUwtd0SX0aKPHsQs3/sAQTN30O9CKM+4oBRDmyfScrj+CtqVsjl3QoLM8Yp9h\nRTFs3BUDa57Z0ZVrycXdY6VcBSco+JIEIVyldnM4wd52av4llmCcgrhwQIlj\nZwjW6ULa/WmcKVPS5uKEOOCeHve8mpYx1aXEr9dQbhyP4PpQS2odDfcgZRLA\nzlZJ6S5PiO5K56AAb0mURaiDKvVlvTHqlYthJdNaFTAz38NyuyeFErRFqTi6\nc7KmkCBjVhUQDZqcOXe+wRofNtBN/9VID29YJtKg2tOXOkB6TcKJNRMtsTL7\n9BDFfNFOqZbAjhSycj9A9+B8boxv1it/8V+q0B6uS1k1j+yaqXQukeAKRx/U\nIbIt/uhrkNKO00PT4HIakusGbOG8QFMHd8qsv//hnT0Rgutx2jN/I8qlQRVA\nzHdDxEW54OcRaBaVYixqbPaigYiQFJbOMiwfQagVuil/nM4tLQf5Wd3e9qPw\nky6lV8Xt0FlNv49JnR8+V2Hc6xahmXxWypD/xcO6iucfkifPwx5I7NzI/iVv\nqqoVwHjNs0YAk70AoYxodHQK8n2Z1alCftgIPE9qyrueyv3dvW6CHD9NbndI\nwB4u5HgkZVuZH0bOimYbyMTHk27IjNFKYvvplWU+9YD6uqRNUyO9UoO324q1\nfDoD\r\n=o9XW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4WgMyhCW7D/qCj2XcjYyspdzkKXT+oNh1uHYdQxJNgQIhAIIbfiOFT1xK+/2xA2/2yFuprD8MESc/ecxWZd/YNqA+"}]},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth_2.1.3_1554142523736_0.9070535177795536"},"_hasShrinkwrap":false},"3.0.0-rc.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"},{"name":"David Dolcimascolo","email":"david.dolcimascolo@stordata.fr"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"3.0.0-rc.0","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"@types/node":"^10.17.5","@types/passport":"^1.0.1","ldapauth-fork":"next","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.1","@types/bunyan":"^1.8.6","@types/express":"^4.17.2","basic-auth":"^2.0.1","body-parser":"^1.19.0","bunyan":"^1.8.10","chai":"^4.2.0","eslint":"^6.6.0","express":"^4.17.1","ldapjs":"next","merge":"1.2.1","mocha":"^6.2.2","passport":"^0.4.0","supertest":"^4.0.2","typescript":"^3.7.2","watch":"^1.0.2"},"scripts":{"prepare":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:watch":"watch 'npm test' ./lib ./test --wait 0.5","test:typescript":"cd test/typescript && tsc"},"readme":"# passport-ldapauth\n\n[![Build Status](https://travis-ci.org/vesse/passport-ldapauth.svg)](https://travis-ci.org/vesse/passport-ldapauth)\n[![npm](https://img.shields.io/npm/dm/passport-ldapauth.svg)](http://npmjs.com/package/passport-ldapauth)\n[![Sponsored by Leonidas](https://img.shields.io/badge/sponsored%20by-leonidas-389fc1.svg)](https://leonidasoy.fi/open-source)\n\n[Passport](http://passportjs.org/) authentication strategy against LDAP / AD server. This module is a Passport strategy wrapper for [ldapauth-fork](https://github.com/vesse/node-ldapauth-fork).\n\nThis module lets you authenticate using LDAP or AD in your Node.js applications. By plugging into Passport, LDAP authentication can be integrated into any framework that supports Connect-style middleware.\n\n## Install\n\n```\nnpm install passport-ldapauth\n```\n\n## Usage\n\n**Important note:** LDAP client unbind does not work on Node 10. This may leave connections in weird state. See [joyent/node-ldapjs#483](https://github.com/joyent/node-ldapjs/issues/483) for more information.\n\n### Configure strategy\n\n```javascript\nvar LdapStrategy = require('passport-ldapauth');\n\npassport.use(new LdapStrategy({\n    server: {\n      url: 'ldap://localhost:389',\n      ...\n    }\n  }));\n```\n\n* `server`: LDAP settings. These are passed directly to [ldapauth-fork](https://github.com/vesse/node-ldapauth-fork). See its documentation for all available options.\n    * `url`: e.g. `ldap://localhost:389`\n    * `bindDN`: e.g. `cn='root'`\n    * `bindCredentials`: Password for bindDN\n    * `searchBase`: e.g. `o=users,o=example.com`\n    * `searchFilter`:  LDAP search filter, e.g. `(uid={{username}})`. Use literal `{{username}}` to have the given username used in the search.\n    * `searchAttributes`: Optional array of attributes to fetch from LDAP server, e.g. `['displayName', 'mail']`. Defaults to `undefined`, i.e. fetch all attributes\n    * `tlsOptions`: Optional object with options accepted by Node.js [tls](http://nodejs.org/api/tls.html#tls_tls_connect_options_callback) module.\n* `usernameField`: Field name where the username is found, defaults to _username_\n* `passwordField`: Field name where the password is found, defaults to _password_\n* `credentialsLookup`: Optional, synchronous function that provides the login credentials from `req`. See [below](#credentialslookup) for more.\n* `missingCredentialsStatus`: Returned HTTP status code when credentials could not be found in the request. Defaults to _400_\n* `handleErrorsAsFailures`: When `true`, unknown errors and ldapjs emitted errors are handled as authentication failures instead of errors (default: `false`).\n* `failureErrorCallback`: Optional, synchronous function that is called with the received error when `handleErrorsAsFailures` is enabled.\n* `passReqToCallback`: When `true`, `req` is the first argument to the verify callback (default: `false`):\n\n        passport.use(new LdapStrategy(..., function(req, user, done) {\n            ...\n            done(null, user);\n          }\n        ));\n\nNote: you can pass a function instead of an object as `options`, see the [example below](#asynchronous-configuration-retrieval)\n\n### Authenticate requests\n\nUse `passport.authenticate()`, specifying the `'ldapauth'` strategy, to authenticate requests.\n\n#### `authenticate()` options\n\nIn addition to [default authentication options](http://passportjs.org/guide/authenticate/) the following flash message options are available for `passport.authenticate()`:\n\n * `badRequestMessage`: missing username/password (default: 'Missing credentials')\n * `invalidCredentials`: `InvalidCredentialsError` and `/no such user/i` LDAP errors (default: 'Invalid username/password')\n * `noSuchObject`: `NoSuchObjectError` LDAP errors (default: 'Bad search base')\n * `userNotFound`: LDAP returns no error but also no user (default: 'Invalid username/password')\n * `constraintViolation`: user account is locked (default: 'Exceeded password retry limit, account locked')\n\nAnd for [Microsoft AD messages](http://www-01.ibm.com/support/docview.wss?uid=swg21290631), these flash message options can also be used (used instead of `invalidCredentials` if matching error code is found):\n\n * `invalidLogonHours`: not being allowed to login at this current time (default: 'Not Permitted to login at this time')\n * `invalidWorkstation`: not being allowed to login from this current location (default: 'Not permited to logon at this workstation')\n * `passwordExpired`: expired password (default: 'Password expired')\n * `accountDisabled`: disabled account (default: 'Account disabled')\n * `accountExpired`: expired account (default: 'Account expired')\n * `passwordMustChange`: password change (default: 'User must reset password')\n * `accountLockedOut`: locked out account (default: 'User account locked')\n\n## Express example\n\n```javascript\nvar express      = require('express'),\n    passport     = require('passport'),\n    bodyParser   = require('body-parser'),\n    LdapStrategy = require('passport-ldapauth');\n\nvar OPTS = {\n  server: {\n    url: 'ldap://localhost:389',\n    bindDN: 'cn=root',\n    bindCredentials: 'secret',\n    searchBase: 'ou=passport-ldapauth',\n    searchFilter: '(uid={{username}})'\n  }\n};\n\nvar app = express();\n\npassport.use(new LdapStrategy(OPTS));\n\napp.use(bodyParser.json());\napp.use(bodyParser.urlencoded({extended: false}));\napp.use(passport.initialize());\n\napp.post('/login', passport.authenticate('ldapauth', {session: false}), function(req, res) {\n  res.send({status: 'ok'});\n});\n\napp.listen(8080);\n```\n\n### Active Directory over SSL example\n\nSimple example config for connecting over `ldaps://` to a server requiring some internal CA certificate (often the case in corporations using Windows AD).\n\n```javascript\nvar fs = require('fs');\n\nvar opts = {\n  server: {\n    url: 'ldaps://ad.corporate.com:636',\n    bindDN: 'cn=non-person,ou=system,dc=corp,dc=corporate,dc=com',\n    bindCredentials: 'secret',\n    searchBase: 'dc=corp,dc=corporate,dc=com',\n    searchFilter: '(&(objectcategory=person)(objectclass=user)(|(samaccountname={{username}})(mail={{username}})))',\n    searchAttributes: ['displayName', 'mail'],\n    tlsOptions: {\n      ca: [\n        fs.readFileSync('/path/to/root_ca_cert.crt')\n      ]\n    }\n  }\n};\n...\n```\n\n## `credentialsLookup`\n\nA synchronous function that receives the `req` object and returns an objec with keys `username` and `password` (or `name` and `pass`) can be provided. Note, that when this is provided the default lookup is not performed. This can be used to eg. enable basic auth header support:\n\n```javascript\nvar basicAuth = require('basic-auth');\nvar ldapOpts = {\n  server: { ... },\n  credentialsLookup: basicAuth\n}\n```\n\n## Asynchronous configuration retrieval\n\nInstead of providing a static configuration object, you can pass a function as `options` that will take care of fetching the configuration. It will be called with the `req` object and a callback function having the standard `(err, result)` signature. Notice that the provided function will be called on every authenticate request.\n\n```javascript\nvar getLDAPConfiguration = function(req, callback) {\n  // Fetching things from database or whatever\n  process.nextTick(function() {\n    var opts = {\n      server: {\n        url: 'ldap://localhost:389',\n        bindDN: 'cn=root',\n        bindCredentials: 'secret',\n        searchBase: 'ou=passport-ldapauth',\n        searchFilter: '(uid={{username}})'\n      }\n    };\n\n    callback(null, opts);\n  });\n};\n\nvar LdapStrategy = require('passport-ldapauth');\n\npassport.use(new LdapStrategy(getLDAPConfiguration,\n  function(user, done) {\n    ...\n    return done(null, user);\n  }\n));\n```\n\n## `ldapsearch`\n\n[ldapsearch](http://linux.die.net/man/1/ldapsearch) is a great command line tool for testing your config. The user search query performed in the Express example above when user logging in has uid `john` is the same as the following `ldapsearch` call:\n\n```bash\nldapsearch \\\n  -H ldap://localhost:389 \\\n  -x \\\n  -D cn=root \\\n  -w secret \\\n  -b ou=passport-ldapauth \\\n  \"(uid=john)\"\n```\n\nIf the query does not return expected user the configuration is likely incorrect.\n\n## License\n\nMIT\n\n`passport-ldapauth` has been partially sponsored by [Leonidas Ltd](https://leonidasoy.fi/open-source).\n","readmeFilename":"README.md","gitHead":"feb15a4d4dff9f7bc05c78a839ce3591cad0d306","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@3.0.0-rc.0","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-pJrC7O2NkluGYWpEdnpRpxVWKy5sQrRWtihv9iNoXoOn5xUlaGvBhS3u7d70PkJSldZeMWkX0X6KDCGikX6smA==","shasum":"ed6d8481cceedfd4d278ee3d1cecf89110667e08","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-3.0.0-rc.0.tgz","fileCount":15,"unpackedSize":55993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdx8hACRA9TVsSAnZWagAA+PkP+wXXcIY+cvhCtg3eHAxX\nixKP99Li+CHRIisg2iUYOnlX3hvJRVjwV8AEbRc54OpllffOym5i25ggPZ4F\ncR01WyOSSSglqzIrmDSlkWfl9Zi8T6LsPYXQod0ILlVPrgMz2AgFsaRq+Ebu\nI7AJezsjzKA7nvbUUGq3uF3k0cG02f/ZWFkUQySYQf5SC9S6fEuablx5XBua\n6nk9GPfUTiBR6zp1QfQwyC5q0+fRf++mSoDdiv+rYiSxl95qPZckoi8+s5fl\nK/ZF9U50GI/Py286slxaV5Bm2aVBteeCcUo/hjNFj4SuULOoEYu/akc/wU+r\nhhMLQxnUnQFb1p9TZ0hGPkjWGZm2kQMnkJi9vrOBT2Mb5aj28yHu66DZriSa\n9T4o2OfDTNmf7/ljFB41FUatsc4KEC/+O15VvKV/a61Z2QOxqu5NDvad9kgO\nUspg6NFdrlrhAa23onlczSclN1A+Bpr3ZBPs17iM0aylC0balaxGRNmdEwYM\niKH23JhtDMrXZ89kERXsc1BTbT/JIjfxI47HNJkgqTAmiex1hPtW76eZlCmr\nDDIFSYwEJNGSnJ+5OG9pkLVQm1PJcGaNCfNF2eoxSrQ60iJ5jixiuBcDmRnM\npx266j2EA5RM4wYW9VbwWIa9DzDPJ2vyw5MlD6pSRcDgxJwszNPJ2afQ7Bm4\nKVVP\r\n=aKRw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnObyDlkzq1G9wZME2kmmlWProI+RSxTL2w5ed4w2dJQIhAOvLBiYRsOE2xDOBmLkhLW6EU6x7ZEj/fY2kJi1XVnUq"}]},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth_3.0.0-rc.0_1573374016259_0.7269448958950337"},"_hasShrinkwrap":false},"2.1.4":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"},{"name":"David Dolcimascolo","email":"david.dolcimascolo@stordata.fr"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"2.1.4","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"@types/node":"*","@types/passport":"^1.0.0","ldapauth-fork":"^4.3.2","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.3","@types/bunyan":"^1.8.5","@types/express":"^4.16.1","basic-auth":"^2.0.1","body-parser":"^1.17.2","bunyan":"^1.8.10","chai":"^4.2.0","eslint":"^6.8.0","express":"^4.16.4","ldapjs":"^1.0.1","merge":"1.2.1","mocha":"^7.0.1","passport":"^0.4.0","supertest":"^4.0.2","typescript":"^3.8.2","watch":"^1.0.2"},"scripts":{"prepare":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:watch":"watch 'npm test' ./lib ./test --wait 0.5","test:typescript":"cd test/typescript && tsc"},"gitHead":"0330982bd535578a4a190c485049eeb9ca73e18e","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@2.1.4","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"dist":{"integrity":"sha512-VeVL69ZK+cpJe0DKMSGuwcf7k+V4dr0U0Y7ZhXL785pcRb5gRA6qYZfIH+XTsAzwqTK9l0Dn3Ds4weOZ1jKkLQ==","shasum":"2259e4e5d2d9c2b3d50a04f6640a941effda8da9","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-2.1.4.tgz","fileCount":15,"unpackedSize":56033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVVEiCRA9TVsSAnZWagAAUpkQAIVM6SEvP2zTH6XTjMx0\nanXqs8s/Ic3Yq0mV/Lklui6ijPaCKki9jmMPYS1uR6/L3odIx7SxCLMlT96B\ne2kCyBAbkBXsqC85fJ8NezqPK4OIH1xSQO6LwBCdGuv/Fdi1zBjLspSc4ozw\nRBKcf9Hl5WWLwyGHBYBs8kWww7K5nO0XBC9uEe9Cbukczs9cAsTCAlVtNG3f\nDp9kGr4tizTa6w2JpOETOsoRjOacjGOKKtap0Tm1QY2dNImSw+9rCFi36x79\n2E19qKFR8IYQTd16bHG2WsWBKIhr5FrRGGuPlK6P95GzjhNU1vziltAWSbgR\n67wm1K1/GP7blfIHYoH856FMS+37ac5rBJxZlTSyT06mKTwBke9jzcqCurxb\nluFOGwY6WPLaGGa/cuFpxN1q/mC/Ihuwi9zwBgNKvYxBuhD9jbAEHuByrq3h\n0CPTR3IvBn1pReXOVfvgW7RGrV/aAKtlIuYdzj8rBHM2wHdD2yRS+TFEMO9K\nlroTAe4cVjdYXPErJoR0auzGmRmSp9AyqqQdLq8mKdQ8VeImM3G8JH5OeE1j\nmgLAp8kYbIYc3uAe+wG4boRT2RMPz89KQ8uyOKqJ35EGcpch1AQ9nTQacYnB\nbzFmvlSerLrccYgcAZv0a4n8bfWRdbGLEhfnaReyXmcwBoSnPUvsBl0/Ehq8\n8O/U\r\n=P5aT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0vuju+/1PvTCL337eYwyBfhyjQlijXCJi0SAbjA5/4AiBJNpTxw4h3nnditD8ODGA7q+TpC8yHIyNZ0Ty9JW3OTA=="}]},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth_2.1.4_1582649633881_0.9407730538011314"},"_hasShrinkwrap":false},"3.0.0-rc.1":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"},{"name":"David Dolcimascolo","email":"david.dolcimascolo@stordata.fr"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"3.0.0-rc.1","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"@types/node":"*","@types/passport":"^1.0.0","ldapauth-fork":"^4.3.2","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.3","@types/bunyan":"^1.8.5","@types/express":"^4.16.1","basic-auth":"^2.0.1","body-parser":"^1.19.0","bunyan":"^1.8.10","chai":"^4.2.0","eslint":"^6.8.0","express":"^4.16.4","ldapjs":"^1.0.1","merge":"1.2.1","mocha":"^7.0.1","passport":"^0.4.0","supertest":"^4.0.2","typescript":"^3.8.2","watch":"^1.0.2"},"scripts":{"prepare":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:watch":"watch 'npm test' ./lib ./test --wait 0.5","test:typescript":"cd test/typescript && tsc"},"readme":"# passport-ldapauth\n\n[![Build Status](https://travis-ci.org/vesse/passport-ldapauth.svg)](https://travis-ci.org/vesse/passport-ldapauth)\n[![npm](https://img.shields.io/npm/dm/passport-ldapauth.svg)](http://npmjs.com/package/passport-ldapauth)\n[![Sponsored by Wakeone](https://img.shields.io/badge/sponsored%20by-wakeone-389fc1.svg)](https://wakeone.co)\n\n[Passport](http://passportjs.org/) authentication strategy against LDAP / AD server. This module is a Passport strategy wrapper for [ldapauth-fork](https://github.com/vesse/node-ldapauth-fork).\n\nThis module lets you authenticate using LDAP or AD in your Node.js applications. By plugging into Passport, LDAP authentication can be integrated into any framework that supports Connect-style middleware.\n\n## Install\n\n```\nnpm install passport-ldapauth\n```\n\n## Usage\n\n**Important note:** LDAP client unbind does not work on Node 10. This may leave connections in weird state. See [joyent/node-ldapjs#483](https://github.com/joyent/node-ldapjs/issues/483) for more information.\n\n### Configure strategy\n\n```javascript\nvar LdapStrategy = require('passport-ldapauth');\n\npassport.use(new LdapStrategy({\n    server: {\n      url: 'ldap://localhost:389',\n      ...\n    }\n  }));\n```\n\n* `server`: LDAP settings. These are passed directly to [ldapauth-fork](https://github.com/vesse/node-ldapauth-fork). See its documentation for all available options.\n    * `url`: e.g. `ldap://localhost:389`\n    * `bindDN`: e.g. `cn='root'`\n    * `bindCredentials`: Password for bindDN\n    * `searchBase`: e.g. `o=users,o=example.com`\n    * `searchFilter`:  LDAP search filter, e.g. `(uid={{username}})`. Use literal `{{username}}` to have the given username used in the search.\n    * `searchAttributes`: Optional array of attributes to fetch from LDAP server, e.g. `['displayName', 'mail']`. Defaults to `undefined`, i.e. fetch all attributes\n    * `tlsOptions`: Optional object with options accepted by Node.js [tls](http://nodejs.org/api/tls.html#tls_tls_connect_options_callback) module.\n* `usernameField`: Field name where the username is found, defaults to _username_\n* `passwordField`: Field name where the password is found, defaults to _password_\n* `credentialsLookup`: Optional, synchronous function that provides the login credentials from `req`. See [below](#credentialslookup) for more.\n* `missingCredentialsStatus`: Returned HTTP status code when credentials could not be found in the request. Defaults to _400_\n* `handleErrorsAsFailures`: When `true`, unknown errors and ldapjs emitted errors are handled as authentication failures instead of errors (default: `false`).\n* `failureErrorCallback`: Optional, synchronous function that is called with the received error when `handleErrorsAsFailures` is enabled.\n* `passReqToCallback`: When `true`, `req` is the first argument to the verify callback (default: `false`):\n\n        passport.use(new LdapStrategy(..., function(req, user, done) {\n            ...\n            done(null, user);\n          }\n        ));\n\nNote: you can pass a function instead of an object as `options`, see the [example below](#asynchronous-configuration-retrieval)\n\n### Authenticate requests\n\nUse `passport.authenticate()`, specifying the `'ldapauth'` strategy, to authenticate requests.\n\n#### `authenticate()` options\n\nIn addition to [default authentication options](http://passportjs.org/guide/authenticate/) the following flash message options are available for `passport.authenticate()`:\n\n * `badRequestMessage`: missing username/password (default: 'Missing credentials')\n * `invalidCredentials`: `InvalidCredentialsError` and `/no such user/i` LDAP errors (default: 'Invalid username/password')\n * `noSuchObject`: `NoSuchObjectError` LDAP errors (default: 'Bad search base')\n * `userNotFound`: LDAP returns no error but also no user (default: 'Invalid username/password')\n * `constraintViolation`: user account is locked (default: 'Exceeded password retry limit, account locked')\n\nAnd for [Microsoft AD messages](http://www-01.ibm.com/support/docview.wss?uid=swg21290631), these flash message options can also be used (used instead of `invalidCredentials` if matching error code is found):\n\n * `invalidLogonHours`: not being allowed to login at this current time (default: 'Not Permitted to login at this time')\n * `invalidWorkstation`: not being allowed to login from this current location (default: 'Not permited to logon at this workstation')\n * `passwordExpired`: expired password (default: 'Password expired')\n * `accountDisabled`: disabled account (default: 'Account disabled')\n * `accountExpired`: expired account (default: 'Account expired')\n * `passwordMustChange`: password change (default: 'User must reset password')\n * `accountLockedOut`: locked out account (default: 'User account locked')\n\n## Express example\n\n```javascript\nvar express      = require('express'),\n    passport     = require('passport'),\n    bodyParser   = require('body-parser'),\n    LdapStrategy = require('passport-ldapauth');\n\nvar OPTS = {\n  server: {\n    url: 'ldap://localhost:389',\n    bindDN: 'cn=root',\n    bindCredentials: 'secret',\n    searchBase: 'ou=passport-ldapauth',\n    searchFilter: '(uid={{username}})'\n  }\n};\n\nvar app = express();\n\npassport.use(new LdapStrategy(OPTS));\n\napp.use(bodyParser.json());\napp.use(bodyParser.urlencoded({extended: false}));\napp.use(passport.initialize());\n\napp.post('/login', passport.authenticate('ldapauth', {session: false}), function(req, res) {\n  res.send({status: 'ok'});\n});\n\napp.listen(8080);\n```\n\n### Active Directory over SSL example\n\nSimple example config for connecting over `ldaps://` to a server requiring some internal CA certificate (often the case in corporations using Windows AD).\n\n```javascript\nvar fs = require('fs');\n\nvar opts = {\n  server: {\n    url: 'ldaps://ad.corporate.com:636',\n    bindDN: 'cn=non-person,ou=system,dc=corp,dc=corporate,dc=com',\n    bindCredentials: 'secret',\n    searchBase: 'dc=corp,dc=corporate,dc=com',\n    searchFilter: '(&(objectcategory=person)(objectclass=user)(|(samaccountname={{username}})(mail={{username}})))',\n    searchAttributes: ['displayName', 'mail'],\n    tlsOptions: {\n      ca: [\n        fs.readFileSync('/path/to/root_ca_cert.crt')\n      ]\n    }\n  }\n};\n...\n```\n\n## `credentialsLookup`\n\nA synchronous function that receives the `req` object and returns an objec with keys `username` and `password` (or `name` and `pass`) can be provided. Note, that when this is provided the default lookup is not performed. This can be used to eg. enable basic auth header support:\n\n```javascript\nvar basicAuth = require('basic-auth');\nvar ldapOpts = {\n  server: { ... },\n  credentialsLookup: basicAuth\n}\n```\n\n## Asynchronous configuration retrieval\n\nInstead of providing a static configuration object, you can pass a function as `options` that will take care of fetching the configuration. It will be called with the `req` object and a callback function having the standard `(err, result)` signature. Notice that the provided function will be called on every authenticate request.\n\n```javascript\nvar getLDAPConfiguration = function(req, callback) {\n  // Fetching things from database or whatever\n  process.nextTick(function() {\n    var opts = {\n      server: {\n        url: 'ldap://localhost:389',\n        bindDN: 'cn=root',\n        bindCredentials: 'secret',\n        searchBase: 'ou=passport-ldapauth',\n        searchFilter: '(uid={{username}})'\n      }\n    };\n\n    callback(null, opts);\n  });\n};\n\nvar LdapStrategy = require('passport-ldapauth');\n\npassport.use(new LdapStrategy(getLDAPConfiguration,\n  function(user, done) {\n    ...\n    return done(null, user);\n  }\n));\n```\n\n## `ldapsearch`\n\n[ldapsearch](http://linux.die.net/man/1/ldapsearch) is a great command line tool for testing your config. The user search query performed in the Express example above when user logging in has uid `john` is the same as the following `ldapsearch` call:\n\n```bash\nldapsearch \\\n  -H ldap://localhost:389 \\\n  -x \\\n  -D cn=root \\\n  -w secret \\\n  -b ou=passport-ldapauth \\\n  \"(uid=john)\"\n```\n\nIf the query does not return expected user the configuration is likely incorrect.\n\n## License\n\nMIT\n\n`passport-ldapauth` has been partially sponsored by [Wakeone Ltd](https://wakeone.co/).\n","readmeFilename":"README.md","gitHead":"4bb4a2f62712f8ff3664680484b9ff2b58ec3659","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@3.0.0-rc.1","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"dist":{"integrity":"sha512-WxU+oiTPXqksnymmmoFASU4LwmdGER5hKtt6C2TJoC5VcDTd0Vyxgf0OX1ZHJNOncSR6x+dKhiQpj9CaqKJg+Q==","shasum":"19304caefca28353019f626e5d89d8e8ca3d734a","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-3.0.0-rc.1.tgz","fileCount":15,"unpackedSize":56006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVVJKCRA9TVsSAnZWagAAY6YP/00dVgHwCnlu0zI0nz1Q\nQYHzwvzTl4ABo4/lq/HXswHgae22I4NWYjHhzy931FAh+NWW/E0DF83TB087\ndRAYvmDD3Bi1PqMy4h4jREKucMiM1W5DjWdPRnB8PaVBvQw97745XaX1Xfng\n++1JpVw6aEiBHItrp6om9HF/GJ533GWOa1Pr3ZbynhjKh+nYQoSfEaDRLytg\nQP8FZctN5EcPeGcKwAfa0x5s7oQCRWRB/NKYMvFtIjLybSYAr0stheB9CAER\ntLV0OZ+DGxlGTji9V3zJzAb5sq70pRHCnTuz0ONpYNRlsioUWK3gdF7JvzyE\n4Jn9DsKQAiBp/QdUihkFllg24Tv9s/hHDgMXFwi3cz8kpri3wnFPMZiWst4v\nIro8NTCYHVurGyLWB+iCABycoMvipNmUrMoYDaapzf5lkjng2PxzikUTMmTn\nTz2QFFbohDmdOkNFHpRdmZjCGTnZVoM7zrUil6ZfcwtKYxvMFCvakpJ20322\nepo2v+cYJxdaLLZp5eKMvhyX2I2Djx5iBOmLRTAbYp/00OKVh4+EGiYnxlRR\n84QkEAIcjTVo+5LGnsf1eUj6Qt6/tn+pe6DwPIRWXeREBocir3y+O3bcoKaL\nBBGbTbWMZGOuhk5ktOgyMPktbsjeci71i5ZEx41qxfUfdQtwgIduVd7HKFOA\nZQyz\r\n=4dvA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBANE/N91YLmAOgpKU1wj2AQ7BHSjjgwex7vmtQwT9x4AiBQpYOYn7k47k0DlZNeOmpZupqmHSkgwy4tb8ymTC9m6Q=="}]},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth_3.0.0-rc.1_1582649930426_0.42955420928557553"},"_hasShrinkwrap":false},"3.0.0-rc.2":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"},{"name":"David Dolcimascolo","email":"david.dolcimascolo@stordata.fr"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"3.0.0-rc.2","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"@types/node":"*","@types/passport":"^1.0.0","ldapauth-fork":"next","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.3","@types/bunyan":"^1.8.5","@types/express":"^4.16.1","basic-auth":"^2.0.1","body-parser":"^1.19.0","bunyan":"^1.8.10","chai":"^4.2.0","eslint":"^6.8.0","express":"^4.16.4","ldapjs":"^1.0.1","merge":"1.2.1","mocha":"^7.0.1","passport":"^0.4.0","supertest":"^4.0.2","typescript":"^3.8.2","watch":"^1.0.2"},"scripts":{"prepare":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:watch":"watch 'npm test' ./lib ./test --wait 0.5","test:typescript":"cd test/typescript && tsc"},"readme":"# passport-ldapauth\n\n[![Build Status](https://travis-ci.org/vesse/passport-ldapauth.svg)](https://travis-ci.org/vesse/passport-ldapauth)\n[![npm](https://img.shields.io/npm/dm/passport-ldapauth.svg)](http://npmjs.com/package/passport-ldapauth)\n[![Sponsored by Wakeone](https://img.shields.io/badge/sponsored%20by-wakeone-389fc1.svg)](https://wakeone.co)\n\n[Passport](http://passportjs.org/) authentication strategy against LDAP / AD server. This module is a Passport strategy wrapper for [ldapauth-fork](https://github.com/vesse/node-ldapauth-fork).\n\nThis module lets you authenticate using LDAP or AD in your Node.js applications. By plugging into Passport, LDAP authentication can be integrated into any framework that supports Connect-style middleware.\n\n## Install\n\n```\nnpm install passport-ldapauth\n```\n\n## Usage\n\n**Important note:** LDAP client unbind does not work on Node 10. This may leave connections in weird state. See [joyent/node-ldapjs#483](https://github.com/joyent/node-ldapjs/issues/483) for more information.\n\n### Configure strategy\n\n```javascript\nvar LdapStrategy = require('passport-ldapauth');\n\npassport.use(new LdapStrategy({\n    server: {\n      url: 'ldap://localhost:389',\n      ...\n    }\n  }));\n```\n\n* `server`: LDAP settings. These are passed directly to [ldapauth-fork](https://github.com/vesse/node-ldapauth-fork). See its documentation for all available options.\n    * `url`: e.g. `ldap://localhost:389`\n    * `bindDN`: e.g. `cn='root'`\n    * `bindCredentials`: Password for bindDN\n    * `searchBase`: e.g. `o=users,o=example.com`\n    * `searchFilter`:  LDAP search filter, e.g. `(uid={{username}})`. Use literal `{{username}}` to have the given username used in the search.\n    * `searchAttributes`: Optional array of attributes to fetch from LDAP server, e.g. `['displayName', 'mail']`. Defaults to `undefined`, i.e. fetch all attributes\n    * `tlsOptions`: Optional object with options accepted by Node.js [tls](http://nodejs.org/api/tls.html#tls_tls_connect_options_callback) module.\n* `usernameField`: Field name where the username is found, defaults to _username_\n* `passwordField`: Field name where the password is found, defaults to _password_\n* `credentialsLookup`: Optional, synchronous function that provides the login credentials from `req`. See [below](#credentialslookup) for more.\n* `missingCredentialsStatus`: Returned HTTP status code when credentials could not be found in the request. Defaults to _400_\n* `handleErrorsAsFailures`: When `true`, unknown errors and ldapjs emitted errors are handled as authentication failures instead of errors (default: `false`).\n* `failureErrorCallback`: Optional, synchronous function that is called with the received error when `handleErrorsAsFailures` is enabled.\n* `passReqToCallback`: When `true`, `req` is the first argument to the verify callback (default: `false`):\n\n        passport.use(new LdapStrategy(..., function(req, user, done) {\n            ...\n            done(null, user);\n          }\n        ));\n\nNote: you can pass a function instead of an object as `options`, see the [example below](#asynchronous-configuration-retrieval)\n\n### Authenticate requests\n\nUse `passport.authenticate()`, specifying the `'ldapauth'` strategy, to authenticate requests.\n\n#### `authenticate()` options\n\nIn addition to [default authentication options](http://passportjs.org/guide/authenticate/) the following flash message options are available for `passport.authenticate()`:\n\n * `badRequestMessage`: missing username/password (default: 'Missing credentials')\n * `invalidCredentials`: `InvalidCredentialsError` and `/no such user/i` LDAP errors (default: 'Invalid username/password')\n * `noSuchObject`: `NoSuchObjectError` LDAP errors (default: 'Bad search base')\n * `userNotFound`: LDAP returns no error but also no user (default: 'Invalid username/password')\n * `constraintViolation`: user account is locked (default: 'Exceeded password retry limit, account locked')\n\nAnd for [Microsoft AD messages](http://www-01.ibm.com/support/docview.wss?uid=swg21290631), these flash message options can also be used (used instead of `invalidCredentials` if matching error code is found):\n\n * `invalidLogonHours`: not being allowed to login at this current time (default: 'Not Permitted to login at this time')\n * `invalidWorkstation`: not being allowed to login from this current location (default: 'Not permited to logon at this workstation')\n * `passwordExpired`: expired password (default: 'Password expired')\n * `accountDisabled`: disabled account (default: 'Account disabled')\n * `accountExpired`: expired account (default: 'Account expired')\n * `passwordMustChange`: password change (default: 'User must reset password')\n * `accountLockedOut`: locked out account (default: 'User account locked')\n\n## Express example\n\n```javascript\nvar express      = require('express'),\n    passport     = require('passport'),\n    bodyParser   = require('body-parser'),\n    LdapStrategy = require('passport-ldapauth');\n\nvar OPTS = {\n  server: {\n    url: 'ldap://localhost:389',\n    bindDN: 'cn=root',\n    bindCredentials: 'secret',\n    searchBase: 'ou=passport-ldapauth',\n    searchFilter: '(uid={{username}})'\n  }\n};\n\nvar app = express();\n\npassport.use(new LdapStrategy(OPTS));\n\napp.use(bodyParser.json());\napp.use(bodyParser.urlencoded({extended: false}));\napp.use(passport.initialize());\n\napp.post('/login', passport.authenticate('ldapauth', {session: false}), function(req, res) {\n  res.send({status: 'ok'});\n});\n\napp.listen(8080);\n```\n\n### Active Directory over SSL example\n\nSimple example config for connecting over `ldaps://` to a server requiring some internal CA certificate (often the case in corporations using Windows AD).\n\n```javascript\nvar fs = require('fs');\n\nvar opts = {\n  server: {\n    url: 'ldaps://ad.corporate.com:636',\n    bindDN: 'cn=non-person,ou=system,dc=corp,dc=corporate,dc=com',\n    bindCredentials: 'secret',\n    searchBase: 'dc=corp,dc=corporate,dc=com',\n    searchFilter: '(&(objectcategory=person)(objectclass=user)(|(samaccountname={{username}})(mail={{username}})))',\n    searchAttributes: ['displayName', 'mail'],\n    tlsOptions: {\n      ca: [\n        fs.readFileSync('/path/to/root_ca_cert.crt')\n      ]\n    }\n  }\n};\n...\n```\n\n## `credentialsLookup`\n\nA synchronous function that receives the `req` object and returns an objec with keys `username` and `password` (or `name` and `pass`) can be provided. Note, that when this is provided the default lookup is not performed. This can be used to eg. enable basic auth header support:\n\n```javascript\nvar basicAuth = require('basic-auth');\nvar ldapOpts = {\n  server: { ... },\n  credentialsLookup: basicAuth\n}\n```\n\n## Asynchronous configuration retrieval\n\nInstead of providing a static configuration object, you can pass a function as `options` that will take care of fetching the configuration. It will be called with the `req` object and a callback function having the standard `(err, result)` signature. Notice that the provided function will be called on every authenticate request.\n\n```javascript\nvar getLDAPConfiguration = function(req, callback) {\n  // Fetching things from database or whatever\n  process.nextTick(function() {\n    var opts = {\n      server: {\n        url: 'ldap://localhost:389',\n        bindDN: 'cn=root',\n        bindCredentials: 'secret',\n        searchBase: 'ou=passport-ldapauth',\n        searchFilter: '(uid={{username}})'\n      }\n    };\n\n    callback(null, opts);\n  });\n};\n\nvar LdapStrategy = require('passport-ldapauth');\n\npassport.use(new LdapStrategy(getLDAPConfiguration,\n  function(user, done) {\n    ...\n    return done(null, user);\n  }\n));\n```\n\n## `ldapsearch`\n\n[ldapsearch](http://linux.die.net/man/1/ldapsearch) is a great command line tool for testing your config. The user search query performed in the Express example above when user logging in has uid `john` is the same as the following `ldapsearch` call:\n\n```bash\nldapsearch \\\n  -H ldap://localhost:389 \\\n  -x \\\n  -D cn=root \\\n  -w secret \\\n  -b ou=passport-ldapauth \\\n  \"(uid=john)\"\n```\n\nIf the query does not return expected user the configuration is likely incorrect.\n\n## License\n\nMIT\n\n`passport-ldapauth` has been partially sponsored by [Wakeone Ltd](https://wakeone.co/).\n","readmeFilename":"README.md","gitHead":"3323dfa75a2055b263a86c4fe88910f07736c815","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@3.0.0-rc.2","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"dist":{"integrity":"sha512-qoC+wkWpAsV4FHORhqhPWVq76e/s754KhOFA11CK7lm6yJewWnqY7czydg92ZnlbmjC/Qoipu6apXvhABb1uGw==","shasum":"e89302a752a401c416defa56ed5998fac5d93444","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-3.0.0-rc.2.tgz","fileCount":15,"unpackedSize":56004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegiz5CRA9TVsSAnZWagAAQ1IP/1G+HRzWXjIf1rR0pFWZ\nh/5UsYzrVpP8sd0zsRb2yZSWvvVhz54DzbeQMtsVV+K5+02sBfxjJGT1eVEU\nvJyY+8R+KqLZ2L4592nvWgIiOHg592WoAKgab8GZLI5GLNgnK7DDr6PruzzR\nSHfz09ezGOUfym24qHXmv4Zxb/THaLPy1Yt1Il8crblEy+zCF0LG0Zskjziy\n5LdfT8puB9has9+OBhv1yEgZU7tZtMKHka/hFaRdljUm7iMT4uWbEVWbOP0R\nPjUay8n+D4tGb38n017POn6hhy5bebo/qdIqk1d3XonbZu7Fa97KX5isli99\noRQjUC7Obzs2vFIcMxmsIBUue1TcetbWNFkxpim7N6hO01DbXKdUudabTGyX\nAi/4mt1z9GUdLEwh/b8HRrqmGLrMPjmt8/DDjhXJc6CEXSojBf1vD7OuxDI9\n7aIQx3f75kfnZhZHhwoerOV/u7d0hdhDUIpIsHXfavCz6C2kZ7nn7ErZaVnD\nXMMQdlJRX9b6kyaLNQk2SNdDg/vWKBpy7tq6BXWioWPkFgQXnqzwQtIkAVLz\n356p1IpHwzBWWOtV5oS6SEjwIDaAnDW4cZAYenjwNTX4JB3S1QtrETIWcTZ0\nycXRvOentZ8m/Z3VmNGmB83r1Y5HrJA4//DlStNGMF7GGpoT+LMkghgy1qOH\nAEUs\r\n=ZTjE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFRO8835gy6vksJ4MRyFdxc+mjDLpLszJe37DPMxzYlgIhAOPyjTJSJX2wh9KdKnvNoifSTzpST69B3wc9lQtbmxMR"}]},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth_3.0.0-rc.2_1585589496607_0.9216149052908376"},"_hasShrinkwrap":false},"3.0.0":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"},{"name":"David Dolcimascolo","email":"david.dolcimascolo@stordata.fr"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"3.0.0","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth-fork":"^5.0.1","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.3","@types/bunyan":"^1.8.6","@types/express":"^4.17.9","@types/node":"^14.14.7","@types/passport":"^1.0.4","basic-auth":"^2.0.1","body-parser":"^1.19.0","bunyan":"^1.8.14","chai":"^4.2.0","eslint":"^7.13.0","express":"^4.17.1","ldapjs":"^2.2.1","merge":"^2.1.0","mocha":"^8.2.1","passport":"^0.4.1","supertest":"^6.0.1","typescript":"^4.0.5","watch":"^1.0.2"},"scripts":{"prepare":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:watch":"watch 'npm test' ./lib ./test --wait 0.5","test:typescript":"cd test/typescript && tsc"},"gitHead":"df1f94a16c1e13f38bcf3c05ddb4acedb4b9cc5b","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@3.0.0","_nodeVersion":"14.7.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-MnPb5cTlDgysj0dZuO+J69+k6xUD1T+ca2vTPPyoON6RCDKNKNfxRcy90T+QMCFU3kq1tO2Lqzi7aYppe8vEiQ==","shasum":"d352e36a06c906cf004ec3695c546dfd32dcfff4","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-3.0.0.tgz","fileCount":15,"unpackedSize":56079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfstF1CRA9TVsSAnZWagAA8Q8P/ijlqy47k2tjTDHO/Vc7\ntNZwLzi4Gk+WIyRaGOk0XQogiky90ZoBv9FK9ANSu6AD1he7qOdhu2yNV3jk\nDnGeGMJZXLkt+agaaKcGZXZ1x3o82IF7AIhgpPEY2oJ0quk6ynqqInnCyaSw\njxMkQGEvAH2Z0edxYUxOkjh3GJeMNX7cN6VW1Dm1u/DcDknLBWIEXcgm4810\ndJH7vMRdfZKbhmy2MCDBiBXM6+kIqr7C9AQgYHxozDHzPaxFQOXcLy/aMHhN\n1zkAF4pZbjTEKwcscM9Z1J3+78mI/LdrdHGu/pCrGgFJqqe7dpm2w+Ks8SFW\nBq7t48/rOUBsLqqqrIbZP5RRysI9LGcexfaB/hJBmedeEEmVTID7TkRuYqOh\nYxnALE54L3MBdoDno1PCPpXbjgiQU5LeWsbj6Vv3eek931KWDrlornxUibAb\ngPrsVAfKnPoUjRzF4J1zWzyfGFedLGZM9npVI+IoQvQfBJlt1A4TVIWtofOJ\nKgyI4mD9bd+i/CDCsloKjczHqrY2ujEXukQO6RzbuPXuvrBTHPqtWerFBs7a\npuvJAcrTMo/skJCnYEtlBLoPvNspucsTSqLPqV5AcMTRSkUN3QIpoINjOaOT\ntwSLHESTU+Ug3vHZNYdMnoEyOReo6yGbuCjOHvzTQvJilQNs7Dsm6Bvsxr9B\n0VZE\r\n=NCCP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB1M1dYTtUj+66rnH6VLh0B2R8i9kYKKRX/CKHSaxU5xAiBTGGirQQYSoJsKWuXIaA3ppzP5ehVEFfShxez+wpQG0Q=="}]},"_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"directories":{},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth_3.0.0_1605554548150_0.6289882212150786"},"_hasShrinkwrap":false},"3.0.1":{"name":"passport-ldapauth","description":"LDAP authentication strategy for Passport","author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"},{"name":"David Dolcimascolo","email":"david.dolcimascolo@stordata.fr"}],"keywords":["ldap","passport","authentication","ldapauth"],"version":"3.0.1","license":"MIT","main":"./lib/passport-ldapauth","types":"./lib/passport-ldapauth/strategy.d.ts","engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"dependencies":{"ldapauth-fork":"^5.0.1","passport-strategy":"^1.0.0"},"devDependencies":{"@types/basic-auth":"^1.1.3","@types/bunyan":"^1.8.6","@types/express":"^4.17.9","@types/node":"^14.14.7","@types/passport":"^1.0.4","basic-auth":"^2.0.1","body-parser":"^1.19.0","bunyan":"^1.8.14","chai":"^4.2.0","eslint":"^7.13.0","express":"^4.17.1","ldapjs":"^2.2.1","merge":"^2.1.0","mocha":"^8.2.1","passport":"^0.4.1","supertest":"^6.0.1","typescript":"^4.0.5","watch":"^1.0.2"},"scripts":{"prepare":"npm run lint","lint":"eslint ./lib","lint:watch":"watch 'npm run lint' ./lib --wait 0.5","test":"NODE_PATH=lib mocha --reporter spec test/*-test.js","test:watch":"watch 'npm test' ./lib ./test --wait 0.5","test:typescript":"cd test/typescript && tsc"},"gitHead":"3faddbab897f650fd649db799ad46d47041a863d","homepage":"https://github.com/vesse/passport-ldapauth#readme","_id":"passport-ldapauth@3.0.1","_nodeVersion":"14.7.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-TRRx3BHi8GC8MfCT9wmghjde/EGeKjll7zqHRRfGRxXbLcaDce2OftbQrFG7/AWaeFhR6zpZHtBQ/IkINdLVjQ==","shasum":"1432e8469de18bd46b5b39a46a866b416c1ddded","tarball":"https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-3.0.1.tgz","fileCount":15,"unpackedSize":55868,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsts/CRA9TVsSAnZWagAAu/wP/RyiBqkuzAJOZiPBNhCN\ntSUvBT4z+Dbn5BrpsFUtNTq68DjTIGSni1T1K8iI4N3RpgvC+ykDIa8mYVog\nvkw1FiwFEbYdh3IticwFI7h8dDgSVo1KinDxSqr5fTDi5uclLvW2RR0D8+GA\nBjJlEJVhbfh0dQFDLGA7ViSUosXIDxqcM4HetAakbATDifmmDPY+ydIDqS1F\nPc9qiYxWleqty0H7IADb2cH1wfjypBkfyyBhWZkYvJ2cqTvIiF903HA/5rYu\n1v8jA7a8H1HRL+wSY3pIIiq/MyAAQD5uTMekaoVy+5rfv7DTpYKdqidklXNm\n0mGAexE3A4x6Kji/yn4wx/euoe6mVyCjm+7nJ93hv9CLFSpY1TGRKDHXIV8n\nfAwl0t1et4O8LC+CH5bORVl0PW4FQIZNdVmaXXdejHtqvhs0Udm6xWya5MC/\ntnw5Lgj39gpGL0lDq/gbT9GzWc4XwrSiGdFdDYpVjaTER8MTSSSgVyF4opgp\nCW6PM2shDx5cG8rg4BcukirjFuRfXsff+hitsFIIJxjPSivZfmWgijuba8vA\nqKFvbRZlV1YibDQlOA4JQdh8Ua5s3dXSumK6SOf4yqGsB3gAcxNIT+ebpVpo\n4Qhq6vP3Ajf6lWVx78oBn1wh3XdLZskwZg+hKtZa5+qxnZOXB8pVtNKsEr2y\nBlNK\r\n=kece\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2BXBbIJmSl9uc2c9m8BhT11cbW4j6fOHlBMGSFTsDigIhAOTIGY++/sn9b05pNQnRGazLl+4bW2Rx2G9mM/NE1OpA"}]},"_npmUser":{"name":"vesse","email":"vesa.poikajarvi@iki.fi"},"directories":{},"maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-ldapauth_3.0.1_1605557054876_0.823272223954681"},"_hasShrinkwrap":false}},"readme":"# passport-ldapauth\n\n[![Build Status](https://travis-ci.org/vesse/passport-ldapauth.svg)](https://travis-ci.org/vesse/passport-ldapauth)\n[![npm](https://img.shields.io/npm/dm/passport-ldapauth.svg)](http://npmjs.com/package/passport-ldapauth)\n[![Sponsored by Wakeone](https://img.shields.io/badge/sponsored%20by-wakeone-389fc1.svg)](https://wakeone.co)\n\n[Passport](http://passportjs.org/) authentication strategy against LDAP / AD server. This module is a Passport strategy wrapper for [ldapauth-fork](https://github.com/vesse/node-ldapauth-fork).\n\nThis module lets you authenticate using LDAP or AD in your Node.js applications. By plugging into Passport, LDAP authentication can be integrated into any framework that supports Connect-style middleware.\n\n## Install\n\n```\nnpm install passport-ldapauth\n```\n\n## Usage\n### Configure strategy\n\n```javascript\nvar LdapStrategy = require('passport-ldapauth');\n\npassport.use(new LdapStrategy({\n    server: {\n      url: 'ldap://localhost:389',\n      ...\n    }\n  }));\n```\n\n* `server`: LDAP settings. These are passed directly to [ldapauth-fork](https://github.com/vesse/node-ldapauth-fork). See its documentation for all available options.\n    * `url`: e.g. `ldap://localhost:389`\n    * `bindDN`: e.g. `cn='root'`\n    * `bindCredentials`: Password for bindDN\n    * `searchBase`: e.g. `o=users,o=example.com`\n    * `searchFilter`:  LDAP search filter, e.g. `(uid={{username}})`. Use literal `{{username}}` to have the given username used in the search.\n    * `searchAttributes`: Optional array of attributes to fetch from LDAP server, e.g. `['displayName', 'mail']`. Defaults to `undefined`, i.e. fetch all attributes\n    * `tlsOptions`: Optional object with options accepted by Node.js [tls](http://nodejs.org/api/tls.html#tls_tls_connect_options_callback) module.\n* `usernameField`: Field name where the username is found, defaults to _username_\n* `passwordField`: Field name where the password is found, defaults to _password_\n* `credentialsLookup`: Optional, synchronous function that provides the login credentials from `req`. See [below](#credentialslookup) for more.\n* `missingCredentialsStatus`: Returned HTTP status code when credentials could not be found in the request. Defaults to _400_\n* `handleErrorsAsFailures`: When `true`, unknown errors and ldapjs emitted errors are handled as authentication failures instead of errors (default: `false`).\n* `failureErrorCallback`: Optional, synchronous function that is called with the received error when `handleErrorsAsFailures` is enabled.\n* `passReqToCallback`: When `true`, `req` is the first argument to the verify callback (default: `false`):\n\n        passport.use(new LdapStrategy(..., function(req, user, done) {\n            ...\n            done(null, user);\n          }\n        ));\n\nNote: you can pass a function instead of an object as `options`, see the [example below](#asynchronous-configuration-retrieval)\n\n### Authenticate requests\n\nUse `passport.authenticate()`, specifying the `'ldapauth'` strategy, to authenticate requests.\n\n#### `authenticate()` options\n\nIn addition to [default authentication options](http://passportjs.org/guide/authenticate/) the following flash message options are available for `passport.authenticate()`:\n\n * `badRequestMessage`: missing username/password (default: 'Missing credentials')\n * `invalidCredentials`: `InvalidCredentialsError` and `/no such user/i` LDAP errors (default: 'Invalid username/password')\n * `noSuchObject`: `NoSuchObjectError` LDAP errors (default: 'Bad search base')\n * `userNotFound`: LDAP returns no error but also no user (default: 'Invalid username/password')\n * `constraintViolation`: user account is locked (default: 'Exceeded password retry limit, account locked')\n\nAnd for [Microsoft AD messages](http://www-01.ibm.com/support/docview.wss?uid=swg21290631), these flash message options can also be used (used instead of `invalidCredentials` if matching error code is found):\n\n * `invalidLogonHours`: not being allowed to login at this current time (default: 'Not Permitted to login at this time')\n * `invalidWorkstation`: not being allowed to login from this current location (default: 'Not permited to logon at this workstation')\n * `passwordExpired`: expired password (default: 'Password expired')\n * `accountDisabled`: disabled account (default: 'Account disabled')\n * `accountExpired`: expired account (default: 'Account expired')\n * `passwordMustChange`: password change (default: 'User must reset password')\n * `accountLockedOut`: locked out account (default: 'User account locked')\n\n## Express example\n\n```javascript\nvar express      = require('express'),\n    passport     = require('passport'),\n    bodyParser   = require('body-parser'),\n    LdapStrategy = require('passport-ldapauth');\n\nvar OPTS = {\n  server: {\n    url: 'ldap://localhost:389',\n    bindDN: 'cn=root',\n    bindCredentials: 'secret',\n    searchBase: 'ou=passport-ldapauth',\n    searchFilter: '(uid={{username}})'\n  }\n};\n\nvar app = express();\n\npassport.use(new LdapStrategy(OPTS));\n\napp.use(bodyParser.json());\napp.use(bodyParser.urlencoded({extended: false}));\napp.use(passport.initialize());\n\napp.post('/login', passport.authenticate('ldapauth', {session: false}), function(req, res) {\n  res.send({status: 'ok'});\n});\n\napp.listen(8080);\n```\n\n### Active Directory over SSL example\n\nSimple example config for connecting over `ldaps://` to a server requiring some internal CA certificate (often the case in corporations using Windows AD).\n\n```javascript\nvar fs = require('fs');\n\nvar opts = {\n  server: {\n    url: 'ldaps://ad.corporate.com:636',\n    bindDN: 'cn=non-person,ou=system,dc=corp,dc=corporate,dc=com',\n    bindCredentials: 'secret',\n    searchBase: 'dc=corp,dc=corporate,dc=com',\n    searchFilter: '(&(objectcategory=person)(objectclass=user)(|(samaccountname={{username}})(mail={{username}})))',\n    searchAttributes: ['displayName', 'mail'],\n    tlsOptions: {\n      ca: [\n        fs.readFileSync('/path/to/root_ca_cert.crt')\n      ]\n    }\n  }\n};\n...\n```\n\n## `credentialsLookup`\n\nA synchronous function that receives the `req` object and returns an objec with keys `username` and `password` (or `name` and `pass`) can be provided. Note, that when this is provided the default lookup is not performed. This can be used to eg. enable basic auth header support:\n\n```javascript\nvar basicAuth = require('basic-auth');\nvar ldapOpts = {\n  server: { ... },\n  credentialsLookup: basicAuth\n}\n```\n\n## Asynchronous configuration retrieval\n\nInstead of providing a static configuration object, you can pass a function as `options` that will take care of fetching the configuration. It will be called with the `req` object and a callback function having the standard `(err, result)` signature. Notice that the provided function will be called on every authenticate request.\n\n```javascript\nvar getLDAPConfiguration = function(req, callback) {\n  // Fetching things from database or whatever\n  process.nextTick(function() {\n    var opts = {\n      server: {\n        url: 'ldap://localhost:389',\n        bindDN: 'cn=root',\n        bindCredentials: 'secret',\n        searchBase: 'ou=passport-ldapauth',\n        searchFilter: '(uid={{username}})'\n      }\n    };\n\n    callback(null, opts);\n  });\n};\n\nvar LdapStrategy = require('passport-ldapauth');\n\npassport.use(new LdapStrategy(getLDAPConfiguration,\n  function(user, done) {\n    ...\n    return done(null, user);\n  }\n));\n```\n\n## `ldapsearch`\n\n[ldapsearch](http://linux.die.net/man/1/ldapsearch) is a great command line tool for testing your config. The user search query performed in the Express example above when user logging in has uid `john` is the same as the following `ldapsearch` call:\n\n```bash\nldapsearch \\\n  -H ldap://localhost:389 \\\n  -x \\\n  -D cn=root \\\n  -w secret \\\n  -b ou=passport-ldapauth \\\n  \"(uid=john)\"\n```\n\nIf the query does not return expected user the configuration is likely incorrect.\n\n## License\n\nMIT\n\n`passport-ldapauth` has been partially sponsored by [Wakeone Ltd](https://wakeone.co/).\n","maintainers":[{"name":"vesse","email":"vesa.poikajarvi@iki.fi"}],"time":{"modified":"2022-06-23T12:54:39.910Z","created":"2013-04-13T21:50:59.298Z","0.0.3":"2013-04-13T21:51:02.795Z","0.0.4":"2013-04-14T08:20:18.079Z","0.0.5":"2013-04-16T11:10:19.056Z","0.0.6":"2013-07-14T18:22:56.852Z","0.1.0":"2013-08-21T09:15:12.465Z","0.1.1":"2013-08-21T11:15:40.022Z","0.1.2":"2013-12-05T19:55:41.141Z","0.2.0":"2014-02-12T13:15:32.422Z","0.2.1":"2014-09-12T07:40:55.872Z","0.2.2":"2014-10-17T04:08:23.191Z","0.2.3":"2014-11-19T07:22:03.288Z","0.2.4":"2015-01-27T19:04:23.671Z","0.2.5":"2015-02-19T19:08:05.137Z","0.2.6":"2015-02-24T17:08:33.818Z","0.3.0":"2015-02-24T18:53:25.208Z","0.3.1":"2015-10-04T20:16:18.065Z","0.4.0":"2015-10-31T14:00:34.323Z","0.5.0":"2015-12-07T16:54:20.099Z","0.6.0":"2016-09-14T06:34:10.586Z","1.0.0":"2017-01-02T20:05:48.028Z","2.0.0":"2017-06-13T17:36:15.604Z","2.1.0":"2018-09-26T05:40:23.498Z","2.1.1":"2018-12-03T19:26:52.234Z","2.1.2":"2019-02-13T15:42:19.023Z","2.1.3":"2019-04-01T18:15:23.898Z","3.0.0-rc.0":"2019-11-10T08:20:16.436Z","2.1.4":"2020-02-25T16:53:54.019Z","3.0.0-rc.1":"2020-02-25T16:58:50.535Z","3.0.0-rc.2":"2020-03-30T17:31:36.720Z","3.0.0":"2020-11-16T19:22:28.317Z","3.0.1":"2020-11-16T20:04:15.007Z"},"author":{"name":"Vesa Poikajärvi","email":"vesa.poikajarvi@iki.fi"},"repository":{"type":"git","url":"git+https://github.com/vesse/passport-ldapauth.git"},"readmeFilename":"README.md","users":{"ggarrigo":true,"zambon":true,"fistynuts":true,"rbecheras":true,"temasm":true,"claudio76":true,"goliatone":true,"danielgray.me":true},"homepage":"https://github.com/vesse/passport-ldapauth#readme","keywords":["ldap","passport","authentication","ldapauth"],"contributors":[{"name":"Simon Gaeremynck","email":"gaeremyncks@gmail.com"},{"name":"Michael Bailly","email":"mbailly@linagora.com"},{"name":"Jason Gelinas","email":"jason.gelinas@citi.com"},{"name":"arumi","email":"arumi@wge7033.secheron.net"},{"name":"Anthony Hernandez","email":"anthony.hernandez@clownphobia.com"},{"name":"Chris Harwood","email":"harwood@teralogics.com"},{"name":"David Dolcimascolo","email":"david.dolcimascolo@stordata.fr"}],"bugs":{"url":"https://github.com/vesse/passport-ldapauth/issues"},"license":"MIT"}