OK - ik heb dit bedacht.
Op mijn lokale systeem had ik een nieuwere versie van node, maar op mijn geïmplementeerde versie (op AWS ElasticBeanstalk) gebruikte deze v0.10.36.
Als je kijkt naar de code voor passport-local-mongoose
je ziet dit:
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);
}
};
Dus als de twee verschillende versies van node er één boven 0.12.0 en één lager hebben, krijg je verschillende crypto-functionaliteit.