Support for password
Project: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-js-lib/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-js-lib/commit/0712ac9f Tree: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-js-lib/tree/0712ac9f Diff: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-js-lib/diff/0712ac9f Branch: refs/heads/add-documentation Commit: 0712ac9f305cf64a5ef5c273dafc804f2de62844 Parents: aad0559 Author: Boyan Bakov <[email protected]> Authored: Mon Mar 14 17:18:33 2016 +0200 Committer: Boyan Bakov <[email protected]> Committed: Mon Mar 14 17:18:33 2016 +0200 ---------------------------------------------------------------------- lib/mpin.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-js-lib/blob/0712ac9f/lib/mpin.js ---------------------------------------------------------------------- diff --git a/lib/mpin.js b/lib/mpin.js index e2c2433..70cb32c 100644 --- a/lib/mpin.js +++ b/lib/mpin.js @@ -177,8 +177,6 @@ var mpinjs = (function () { }); }; - - Mpin.prototype.finishRegistration = function (userId, pin) { var _user, token; @@ -192,6 +190,10 @@ var mpinjs = (function () { return Errors.wrongFlow; } + if (isNaN(pin)) { + pin = this.toHash(pin); + } + token = MPINAuth.calculateMPinToken(Users[userId].mpinId, pin, Users[userId].csHex); delete Users[userId].csHex; @@ -405,7 +407,7 @@ var mpinjs = (function () { Mpin.prototype._passRequests = function (opts, cb) { var userId, pin, otp, accessNumber, self = this, _reqData = {}; userId = opts.userId; - pin = opts.pin; + pin = isNaN(opts.pin) ? this.toHash(opts.pin) : opts.pin; otp = opts.otp || false; accessNumber = opts.accessNumber || false; @@ -557,6 +559,14 @@ var mpinjs = (function () { return result; }; + Mpin.prototype.toHash = function (strData) { + var hash = 0; + for (var i = 0; i < strData.length; i++) { + hash = ((hash << 5) - hash) + strData.charCodeAt(i); + } + return hash; + }; + Mpin.prototype.getAccessNumber = function (cb) { var self = this, _reqData = {};
