slackapi / node-slack-interactive-messages

Slack Buttons, Menus, and Dialogs made simpler for Node
MIT License
133 stars 41 forks source link

Allow request verification using req.rawBody #91

Closed aoberoi closed 5 years ago

aoberoi commented 5 years ago

Description

Some hosting platforms (like Firebase Cloud) always parse the request body, and create the req.body property for convenience. Unfortunately, this prevents this library from being able to verify requests. However, there's a convention of placing the unparsed (but buffered) body on the req.rawBody property instead.

Using req.rawBody as a fallback for req.body during verification would allow users to deploy code using this package to more hosting platforms.

This issue is analogous to one from the @slack/events-api package. The work can likely be cribbed from this PR.

Requirements

aoberoi commented 5 years ago

@ErwinLengkeek, beat you to making this issue 😄

ErwinAI commented 5 years ago

@aoberoi I forgot to create it :( Did make a PR for this issue. Cannot figure out how to get the coverage up though, tried numerous things but somehow it complains about the handleError function coverage. The tests do check the output of respond() on multiple occasions though.

shaydewael commented 5 years ago

https://github.com/slackapi/node-slack-sdk/issues/758