You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@milagro.apache.org by sa...@apache.org on 2016/08/05 14:19:57 UTC

[30/37] incubator-milagro-mfa-js-lib git commit: Support for password

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 <bo...@certivox.com>
Authored: Mon Mar 14 17:18:33 2016 +0200
Committer: Boyan Bakov <bo...@certivox.com>
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 = {};