xo-server-auth-ldap
Advanced tools
Comparing version 0.6.3 to 0.6.4
@@ -36,5 +36,5 @@ 'use strict'; | ||
var _bind3 = require('lodash/bind'); | ||
var _bind4 = require('lodash/bind'); | ||
var _bind4 = _interopRequireDefault(_bind3); | ||
var _bind5 = _interopRequireDefault(_bind4); | ||
@@ -155,6 +155,6 @@ var _eventToPromise = require('event-to-promise'); | ||
required: ['username', 'password'] | ||
}; | ||
// =================================================================== | ||
// =================================================================== | ||
}; | ||
var AuthLdap = function () { | ||
@@ -166,3 +166,3 @@ function AuthLdap(xo) { | ||
this._authenticate = (0, _bind4.default)(this._authenticate, this); | ||
this._authenticate = (0, _bind5.default)(this._authenticate, this); | ||
} | ||
@@ -173,3 +173,3 @@ | ||
value: function () { | ||
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(conf) { | ||
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(conf) { | ||
var clientOpts, _bind2, _conf$checkCertificat, checkCertificate, certificateAuthorities, tlsOptions, credentials, searchBase, _conf$filter, searchFilter; | ||
@@ -262,5 +262,3 @@ | ||
value: function () { | ||
var _ref3 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee3(_ref4) { | ||
var _this = this; | ||
var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(_ref4) { | ||
var username = _ref4.username, | ||
@@ -270,10 +268,10 @@ password = _ref4.password; | ||
var client, _ret; | ||
var client, _bind3, search, credentials, entries, response, _ref5, status, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, entry; | ||
return _regenerator2.default.wrap(function _callee3$(_context3) { | ||
return _regenerator2.default.wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context3.prev = _context3.next) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
if (!(username === undefined || password === undefined)) { | ||
_context3.next = 3; | ||
_context2.next = 3; | ||
break; | ||
@@ -284,185 +282,157 @@ } | ||
return _context3.abrupt('return', null); | ||
return _context2.abrupt('return', null); | ||
case 3: | ||
client = (0, _ldapjs.createClient)(this._clientOpts); | ||
_context3.prev = 4; | ||
return _context3.delegateYield(_regenerator2.default.mark(function _callee2() { | ||
var bind, search, credentials, entries, response, _ref5, status, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, entry; | ||
_context2.prev = 4; | ||
return _regenerator2.default.wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
// Promisify some methods. | ||
bind = (0, _promiseToolbox.promisify)(client.bind, client); | ||
search = (0, _promiseToolbox.promisify)(client.search, client); | ||
_context2.next = 4; | ||
return (0, _eventToPromise2.default)(client, 'connect'); | ||
// Promisify some methods. | ||
_bind3 = (0, _promiseToolbox.promisify)(client.bind, client); | ||
search = (0, _promiseToolbox.promisify)(client.search, client); | ||
_context2.next = 9; | ||
return (0, _eventToPromise2.default)(client, 'connect'); | ||
case 4: | ||
credentials = _this._credentials; | ||
case 9: | ||
credentials = this._credentials; | ||
if (!credentials) { | ||
_context2.next = 10; | ||
break; | ||
} | ||
if (!credentials) { | ||
_context2.next = 15; | ||
break; | ||
} | ||
logger(`attempting to bind with as ${credentials.dn}...`); | ||
_context2.next = 9; | ||
return bind(credentials.dn, credentials.password); | ||
logger(`attempting to bind with as ${credentials.dn}...`); | ||
_context2.next = 14; | ||
return _bind3(credentials.dn, credentials.password); | ||
case 9: | ||
logger(`successfully bound as ${credentials.dn}`); | ||
case 14: | ||
logger(`successfully bound as ${credentials.dn}`); | ||
case 10: | ||
case 15: | ||
// Search for the user. | ||
entries = []; | ||
// Search for the user. | ||
entries = []; | ||
logger('searching for entries...'); | ||
_context2.next = 14; | ||
return search(_this._searchBase, { | ||
scope: 'sub', | ||
filter: evalFilter(_this._searchFilter, { | ||
name: username | ||
}) | ||
}); | ||
logger('searching for entries...'); | ||
_context2.next = 19; | ||
return search(this._searchBase, { | ||
scope: 'sub', | ||
filter: evalFilter(this._searchFilter, { | ||
name: username | ||
}) | ||
}); | ||
case 14: | ||
response = _context2.sent; | ||
case 19: | ||
response = _context2.sent; | ||
response.on('searchEntry', function (entry) { | ||
logger('.'); | ||
entries.push(entry.json); | ||
}); | ||
response.on('searchEntry', function (entry) { | ||
logger('.'); | ||
entries.push(entry.json); | ||
}); | ||
_context2.next = 18; | ||
return (0, _eventToPromise2.default)(response, 'end'); | ||
_context2.next = 23; | ||
return (0, _eventToPromise2.default)(response, 'end'); | ||
case 18: | ||
_ref5 = _context2.sent; | ||
status = _ref5.status; | ||
case 23: | ||
_ref5 = _context2.sent; | ||
status = _ref5.status; | ||
if (!status) { | ||
_context2.next = 22; | ||
break; | ||
} | ||
if (!status) { | ||
_context2.next = 27; | ||
break; | ||
} | ||
throw new Error('unexpected search response status: ' + status); | ||
throw new Error('unexpected search response status: ' + status); | ||
case 22: | ||
case 27: | ||
logger(`${entries.length} entries found`); | ||
logger(`${entries.length} entries found`); | ||
// Try to find an entry which can be bind with the given password. | ||
_iteratorNormalCompletion = true; | ||
_didIteratorError = false; | ||
_iteratorError = undefined; | ||
_context2.prev = 26; | ||
_iterator = (0, _getIterator3.default)(entries); | ||
// Try to find an entry which can be bind with the given password. | ||
_iteratorNormalCompletion = true; | ||
_didIteratorError = false; | ||
_iteratorError = undefined; | ||
_context2.prev = 31; | ||
_iterator = (0, _getIterator3.default)(entries); | ||
case 28: | ||
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) { | ||
_context2.next = 44; | ||
break; | ||
} | ||
case 33: | ||
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) { | ||
_context2.next = 49; | ||
break; | ||
} | ||
entry = _step.value; | ||
_context2.prev = 30; | ||
entry = _step.value; | ||
_context2.prev = 35; | ||
logger(`attempting to bind as ${entry.objectName}`); | ||
_context2.next = 34; | ||
return bind(entry.objectName, password); | ||
logger(`attempting to bind as ${entry.objectName}`); | ||
_context2.next = 39; | ||
return _bind3(entry.objectName, password); | ||
case 34: | ||
logger(`successfully bound as ${entry.objectName} => ${username} authenticated`); | ||
return _context2.abrupt('return', { | ||
v: { username } | ||
}); | ||
case 39: | ||
logger(`successfully bound as ${entry.objectName} => ${username} authenticated`); | ||
return _context2.abrupt('return', { username }); | ||
case 38: | ||
_context2.prev = 38; | ||
_context2.t0 = _context2['catch'](30); | ||
case 43: | ||
_context2.prev = 43; | ||
_context2.t0 = _context2['catch'](35); | ||
logger(`failed to bind as ${entry.objectName}: ${_context2.t0.message}`); | ||
logger(`failed to bind as ${entry.objectName}: ${_context2.t0.message}`); | ||
case 41: | ||
_iteratorNormalCompletion = true; | ||
_context2.next = 28; | ||
break; | ||
case 46: | ||
_iteratorNormalCompletion = true; | ||
_context2.next = 33; | ||
break; | ||
case 44: | ||
_context2.next = 50; | ||
break; | ||
case 49: | ||
_context2.next = 55; | ||
break; | ||
case 46: | ||
_context2.prev = 46; | ||
_context2.t1 = _context2['catch'](26); | ||
_didIteratorError = true; | ||
_iteratorError = _context2.t1; | ||
case 51: | ||
_context2.prev = 51; | ||
_context2.t1 = _context2['catch'](31); | ||
_didIteratorError = true; | ||
_iteratorError = _context2.t1; | ||
case 50: | ||
_context2.prev = 50; | ||
_context2.prev = 51; | ||
case 55: | ||
_context2.prev = 55; | ||
_context2.prev = 56; | ||
if (!_iteratorNormalCompletion && _iterator.return) { | ||
_iterator.return(); | ||
} | ||
if (!_iteratorNormalCompletion && _iterator.return) { | ||
_iterator.return(); | ||
} | ||
case 53: | ||
_context2.prev = 53; | ||
case 58: | ||
_context2.prev = 58; | ||
if (!_didIteratorError) { | ||
_context2.next = 56; | ||
break; | ||
} | ||
if (!_didIteratorError) { | ||
_context2.next = 61; | ||
break; | ||
} | ||
throw _iteratorError; | ||
throw _iteratorError; | ||
case 56: | ||
return _context2.finish(53); | ||
case 61: | ||
return _context2.finish(58); | ||
case 57: | ||
return _context2.finish(50); | ||
case 62: | ||
return _context2.finish(55); | ||
case 58: | ||
case 63: | ||
logger(`could not authenticate ${username}`); | ||
return _context2.abrupt('return', { | ||
v: null | ||
}); | ||
logger(`could not authenticate ${username}`); | ||
return _context2.abrupt('return', null); | ||
case 60: | ||
case 'end': | ||
return _context2.stop(); | ||
} | ||
} | ||
}, _callee2, _this, [[26, 46, 50, 58], [30, 38], [51,, 53, 57]]); | ||
})(), 't0', 6); | ||
case 65: | ||
_context2.prev = 65; | ||
case 6: | ||
_ret = _context3.t0; | ||
if (!(typeof _ret === "object")) { | ||
_context3.next = 9; | ||
break; | ||
} | ||
return _context3.abrupt('return', _ret.v); | ||
case 9: | ||
_context3.prev = 9; | ||
client.unbind(); | ||
return _context3.finish(9); | ||
return _context2.finish(65); | ||
case 12: | ||
case 68: | ||
case 'end': | ||
return _context3.stop(); | ||
return _context2.stop(); | ||
} | ||
} | ||
}, _callee3, this, [[4,, 9, 12]]); | ||
}, _callee2, this, [[4,, 65, 68], [31, 51, 55, 63], [35, 43], [56,, 58, 62]]); | ||
})); | ||
@@ -469,0 +439,0 @@ |
@@ -118,3 +118,3 @@ 'use strict'; | ||
array: function () { | ||
var _ref6 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2(schema, defaultValue, path) { | ||
var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(schema, defaultValue, path) { | ||
var items, i, itemSchema, promptItem, n; | ||
@@ -135,3 +135,3 @@ return _regenerator2.default.wrap(function _callee2$(_context2) { | ||
promptItem = function () { | ||
var _ref7 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() { | ||
var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() { | ||
return _regenerator2.default.wrap(function _callee$(_context) { | ||
@@ -264,3 +264,3 @@ while (1) { | ||
object: function () { | ||
var _ref8 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee4(schema, defaultValue, path) { | ||
var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(schema, defaultValue, path) { | ||
var value, required, promptProperty; | ||
@@ -279,3 +279,3 @@ return _regenerator2.default.wrap(function _callee4$(_context4) { | ||
promptProperty = function () { | ||
var _ref9 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee3(schema, name) { | ||
var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(schema, name) { | ||
var subpath; | ||
@@ -282,0 +282,0 @@ return _regenerator2.default.wrap(function _callee3$(_context3) { |
@@ -45,3 +45,3 @@ #!/usr/bin/env node | ||
(0, _execPromise2.default)(function () { | ||
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(args) { | ||
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(args) { | ||
var config, plugin; | ||
@@ -48,0 +48,0 @@ return _regenerator2.default.wrap(function _callee$(_context) { |
{ | ||
"name": "xo-server-auth-ldap", | ||
"version": "0.6.3", | ||
"version": "0.6.4", | ||
"license": "AGPL-3.0", | ||
@@ -37,32 +37,26 @@ "description": "LDAP authentication plugin for XO-Server", | ||
"babel-runtime": "^6.22.0", | ||
"event-to-promise": "^0.7.0", | ||
"exec-promise": "^0.6.1", | ||
"inquirer": "^3.0.1", | ||
"event-to-promise": "^0.8.0", | ||
"exec-promise": "^0.7.0", | ||
"inquirer": "^4.0.0", | ||
"ldapjs": "^1.0.1", | ||
"lodash": "^4.17.4", | ||
"promise-toolbox": "^0.8.0" | ||
"promise-toolbox": "^0.9.5" | ||
}, | ||
"devDependencies": { | ||
"babel-cli": "^6.22.2", | ||
"babel-eslint": "^7.1.1", | ||
"babel-plugin-lodash": "^3.2.11", | ||
"babel-plugin-transform-runtime": "^6.22.0", | ||
"babel-preset-env": "^1.1.8", | ||
"babel-preset-stage-3": "^6.22.0", | ||
"cross-env": "^3.1.4", | ||
"dependency-check": "^2.8.0", | ||
"jest": "^18.1.0", | ||
"rimraf": "^2.5.4", | ||
"standard": "^8.6.0" | ||
"babel-cli": "^6.24.1", | ||
"babel-plugin-lodash": "^3.3.2", | ||
"babel-plugin-transform-runtime": "^6.23.0", | ||
"babel-preset-env": "^1.5.2", | ||
"babel-preset-stage-3": "^6.24.1", | ||
"cross-env": "^5.0.1", | ||
"dependency-check": "^2.9.1", | ||
"rimraf": "^2.6.1" | ||
}, | ||
"scripts": { | ||
"build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/", | ||
"commitmsg": "npm test", | ||
"dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/", | ||
"dev-test": "jest --bail --watch", | ||
"posttest": "standard && dependency-check ./package.json", | ||
"posttest": "dependency-check ./package.json", | ||
"prebuild": "rimraf dist/", | ||
"predev": "npm run prebuild", | ||
"prepublish": "npm run build", | ||
"test": "jest" | ||
"prepublish": "npm run build" | ||
}, | ||
@@ -85,15 +79,3 @@ "babel": { | ||
] | ||
}, | ||
"jest": { | ||
"testPathDirs": [ | ||
"<rootDir>/src" | ||
], | ||
"testRegex": "\\.spec\\.js$" | ||
}, | ||
"standard": { | ||
"ignore": [ | ||
"dist" | ||
], | ||
"parser": "babel-eslint" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
8
54991
708
+ Addedevent-to-promise@0.8.0(transitive)
+ Addedexec-promise@0.7.0(transitive)
+ Addedinquirer@4.0.2(transitive)
+ Addedpromise-toolbox@0.9.5(transitive)
- Removedevent-to-promise@0.7.0(transitive)
- Removedexec-promise@0.6.1(transitive)
- Removedinquirer@3.3.0(transitive)
- Removedpromise-toolbox@0.8.3(transitive)
Updatedevent-to-promise@^0.8.0
Updatedexec-promise@^0.7.0
Updatedinquirer@^4.0.0
Updatedpromise-toolbox@^0.9.5