Recibiendo un error cuando el script se mueve a otro servidor.
(nodo: 15707) [DEP0005] DeprecationWarning: Buffer () está en desuso debido a problemas de seguridad y usabilidad. En su lugar, utilice los métodos Buffer.alloc (), Buffer.allocUnsafe () o Buffer.from ().
Versiones actuales:
Ubuntu 16.04.4 LTS
Node - v10.9.0
NPM - 6.2.0
Versión previa:
Ubuntu 14.04.3 LTS
NPM - 3.10.10
Node - v6.10.3
exports.basicAuthentication = function (req, res, next) {
console.log("basicAuthentication");
if (!req.headers.authorization) {
return res.status(401).send({
message: "Unauthorised access"
});
}
var auth = req.headers.authorization;
var baseAuth = auth.replace("Basic", "");
baseAuth = baseAuth.trim();
var userPasswordString = new Buffer(baseAuth, 'base64').toString('ascii');
var credentials = userPasswordString.split(':');
var username = credentials[0] !== undefined ? credentials[0] : '';
var password = credentials[1] !== undefined ? credentials[1] : '';
var userQuery = {mobilenumber: username, otp: password};
console.log(userQuery);
User.findOne(userQuery).exec(function (err, userinfo) {
if (err || !userinfo) {
return res.status(401).send({
message: "Unauthorised access"
});
} else {
req.user = userinfo;
next();
}
});
}
Respuestas:
Tenga en cuenta que Buffer.alloc () también es más rápido en las versiones actuales de Node.js que el nuevo Buffer (size) .fill (0), que es lo que de otro modo necesitaría para garantizar el llenado cero.
fuente
El uso de lo obsoleto
new Buffer()
constructor (es decir, como lo usa Yarn) puede causar advertencias de obsolescencia. Por lo tanto, NO se debe usar el constructor Buffer obsoleto / inseguro.Según la advertencia de obsolescencia,
new Buffer()
debe reemplazarse por uno de los siguientes:Buffer.alloc()
Buffer.allocUnsafe()
oBuffer.from()
Otra opción para evitar este problema sería utilizar el paquete safe-buffer en su lugar.
También puedes probar (cuando uses hilo ..):
como se menciona aquí: Enlace
Otra sugerencia de los comentarios (gracias a gkiely): actualización automática
Para actualizar su versión de Yarn, ejecute
fuente
Cambie esta línea de su código a esto:
o en mi caso, di la codificación en orden inverso
fuente