sql >> Base de Datos >  >> NoSQL >> MongoDB

La autenticación de estrategia local de Passport parece funcionar solo en localhost con una instancia compartida de MongoDB

Bien, lo descubrí.

En mi sistema local, tenía una versión más reciente del nodo, pero en mi versión implementada (en AWS ElasticBeanstalk) usaba v0.10.36.

Si observa el código de passport-local-mongoose verás esto:

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);
  }
};

Entonces, si las dos versiones diferentes del nodo tienen una por encima de 0.12.0 y otra por debajo, obtendrá una funcionalidad criptográfica diferente.