OK - eu descobri isso.
No meu sistema local, eu tinha uma versão mais recente do node, mas na minha versão implantada (no AWS ElasticBeanstalk) estava usando v0.10.36.
Se você olhar o código para
passport-local-mongoose
você verá isso: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);
}
};
Portanto, se as duas versões diferentes do nó tiverem uma acima de 0.12.0 e outra abaixo, você obterá uma funcionalidade de criptografia diferente.