DDPClient.prototype._login = function(loginParams, password, callback) { var self = this; var srp = new SRP.Client(password); //put your password in here var initialRequest = srp.startExchange(); initialRequest.user = loginParams; self.call('beginPasswordExchange', [initialRequest], function(err, result) { if(err) { callback(err); return; } var response = srp.respondToChallenge(result); self.call('login', [{ srp : response }], function (err, result) { if(err) { callback(err); return; } var conf = srp.verifyConfirmation({ HAMK : result.HAMK }); if (conf) { callback(null, result); } else { callback({ error : "The HAMK doesn't match. Possible MITM attack" }); } }); }); };
self.call('beginPasswordExchange', [initialRequest], function(err, result) { if(err) { callback(err); return; } var response = srp.respondToChallenge(result); self.call('login', [{ srp : response }], function (err, result) { if(err) { callback(err); return; } var conf = srp.verifyConfirmation({ HAMK : result.HAMK }); if (conf) { callback(null, result); } else { callback({ error : "The HAMK doesn't match. Possible MITM attack" }); } }); });
self.call('login', [{ srp : response }], function (err, result) { if(err) { callback(err); return; } var conf = srp.verifyConfirmation({ HAMK : result.HAMK }); if (conf) { callback(null, result); } else { callback({ error : "The HAMK doesn't match. Possible MITM attack" }); } });