MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

L'autenticazione della strategia locale del passaporto sembra funzionare solo su localhost con un'istanza MongoDB condivisa

OK - L'ho capito.

Sul mio sistema locale, avevo una versione più recente di node, ma sulla mia versione distribuita (su AWS ElasticBeanstalk) utilizzava la v0.10.36.

Se guardi il codice per passport-local-mongoose vedrai questo:

var pbkdf2DigestSupport = semver.gte(process.version, '0.12.0');
...
var pbkdf2 = function(password, salt, callback) {
  if (pbkdf2DigestSupport) {
    crypto.pbkdf2(password, salt, options.iterations, options.keylen, options.digestAlgorithm, callback);
  } else {
    crypto.pbkdf2(password, salt, options.iterations, options.keylen, callback);
  }
};

Quindi, se le due diverse versioni di node ne hanno una sopra la 0.12.0 e una sotto, otterrai diverse funzionalità crittografiche.