Google Fire 기능에서 실행되는 Firebase 기능에 요청과 함께 전달 된 Facebook webhook X-Hub-Signature 헤더를 SHA-1에서 소화 할 수 있도록 원시 요청 본문이 필요합니다.Google Cloud 기능에서 원시 요청 본문을 얻으려면 어떻게해야하나요?
문제 GCF 자동 스트림에서 데이터를 소비 bodyParser.json()
을 사용하여 몸을 파싱 (a Content-Type: application/json
헤더)이 같은 경우에는 (가 빠른 미들웨어 체인에 다시 소비 될 수 있음을 의미)만을 파싱 제공한다는 자바 스크립트 객체는 req.body
입니다. 원시 요청 버퍼는 버려집니다.
functions.https.onRequest()
에 익스프레스 앱을 제공하려했으나 일반 요청 - 응답 콜백을 onRequest()
으로 전달할 때와 마찬가지로 하위 애플리케이션 또는 요청 본문이 이미 파싱 된 것으로 실행되는 것 같습니다.
GCF가 나를 위해 본문을 구문 분석하지 못하게 할 방법이 있습니까? 또는 bodyParser.json()
에 내 자신의 verify
콜백을 어떻게 든 지정할 수 있습니까? 아니면 다른 방법이 있습니까?
추신 : 저는 일주일 전에이 문제에 대해 Firebase 지원부에 먼저 연락했지만, 응답이 없으므로 지금 여기에서 시도 중입니다.
나는 당신과 같은 상황에 있습니다. 원시 요청 페이로드를 "재생성"하려고했지만 실행 가능하지 않습니다. 보안 해결 방법은 끝점을 추측 할 수 없도록 임의 문자가있는 함수를 배포하는 것입니다. 나는 내 기사 [여기]에서 더 자세히 설명한다. (https://medium.com/@mrkevinze/regenerating-a-raw-request-payload-an-impossible-task-e4133fb2571) –
이제 req에서 원시 몸을 얻을 수있다. rawBody. –