Estoy enviando datos del Cliente al Backend en 2 formas: tanto encriptadas como no encriptadas.
Estoy usando este código Express:
const express = require('express'); const app = express(); // adding Middlewares .... app.use(express.urlencoded({ extended: true, limit: '100mb', parameterLimit: 100000000 })); app.use(express.json({ limit: '100mb'})); Cuando POST un cuerpo no encriptado, algo como:
method: 'POST', uri: ** BACKEND-ENDPOINT ** , headers: { 'Content-type': 'application/json', 'yourAPIToken': // big token }, json: true, body: 'Some binary data goes here' La solicitud llega al Backend y el body es aceptado como enviado.
Sin embargo, cuando use datos cifrados , haga lo siguiente:
const aesjs = require('aes-js'); let encryptedData; // manipulating data with "aesjs" into "encryptedData" const dataToSend = Buffer.from(encryptedData, 'binary');Y publicar esto usando:
method: 'POST', uri: ** BACKEND-ENDPOINT ** , headers: { 'Content-type': 'application/json', 'yourAPIToken': // big token }, json: true, body: dataToSend Esta solicitud POST se acepta en el Backend con el cuerpo vacío, de la siguiente manera: {} .
¿Por qué cuando envío los datos encriptados el Body-Parser de Middleware no funciona, y cómo podemos arreglar el Body para que no esté vacío?