OK - Tôi đã tìm ra điều này.
Trên hệ thống cục bộ của mình, tôi đã có phiên bản nút mới hơn, nhưng trên phiên bản đã triển khai của tôi (trên AWS ElasticBeanstalk), nó đang sử dụng v0.10.36.
Nếu bạn nhìn vào mã cho passport-local-mongoose
bạn sẽ thấy điều này:
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);
}
};
Vì vậy, nếu hai phiên bản khác nhau của nút có một trên 0.12.0 và một ở dưới, bạn sẽ nhận được các chức năng tiền điện tử khác nhau.