OK - jeg fandt ud af det.
På mit lokale system havde jeg en nyere version af node, men på min installerede version (på AWS ElasticBeanstalk) brugte den v0.10.36.
Hvis du ser på koden for passport-local-mongoose
du vil se dette:
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);
}
};
Så hvis de to forskellige versioner af node har en over 0.12.0 og en under, vil du få forskellig kryptofunktionalitet.