MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Passport Local Strategy Auth scheint nur auf localhost mit einer gemeinsam genutzten MongoDB-Instanz zu funktionieren

OK - das habe ich herausgefunden.

Auf meinem lokalen System hatte ich eine neuere Version von node, aber auf meiner bereitgestellten Version (auf AWS ElasticBeanstalk) wurde v0.10.36 verwendet.

Wenn Sie sich den Code für passport-local-mongoose ansehen Sie werden Folgendes sehen:

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

Wenn also die beiden verschiedenen Versionen von node eine über 0.12.0 und eine unter 0.12.0 haben, erhalten Sie unterschiedliche Kryptofunktionen.