Мне нужно необработанное тело запроса, чтобы иметь возможность переваривать его SHA-1 для проверки заголовка веб-перехватчика Facebook X-Hub-Signature, который передается вместе с запросом к моей функции Firebase (работающей в Google Cloud Functions).
Проблема в том, что в подобных случаях (с заголовком Content-Type: application/json) GCF автоматически анализирует тело, используя bodyParser.json(), который потребляет данные из потока (что означает, что он не может быть снова использован в цепочке промежуточного программного обеспечения Express) и предоставляет только проанализированный объект javascript как req.body . Буфер необработанного запроса отбрасывается.
Я попытался предоставить приложение Express для functions.https.onRequest(), но похоже, что оно запускается как дочернее приложение или что-то в этом роде с уже проанализированным телом запроса, точно так же, как когда вы передаете простой обратный вызов запроса-ответа в onRequest().
Есть ли способ отключить GCF от парсинга тела за меня? Или я мог бы как-то указать свой собственный verify обратный вызов bodyParser.json()? Или есть другой способ?
PS: Я впервые обратился в службу поддержки Firebase по этому поводу неделю назад, но из-за отсутствия ответа я пробую это здесь сейчас.
functions.https.Request, но не распознает поле, если оно импортировано изfunctions.Request22.06.2021