解析请求正文禁止请求签名验证

问题描述 投票:0回答:1

我正在尝试使用Lambda函数构建无服务器的Slackbot。通过Slack事件API验证请求URL时出现错误。 @slack/events-api是我用来捕获松弛事件的依赖项。

这是我的代码。

const sls = require('serverless-http');
const { createEventAdapter } = require('@slack/events-api');
require('dotenv').config();

const { SLACK_SIGNING_SECRET } = process.env
const slackEvents = createEventAdapter( SLACK_SIGNING_SECRET || '' );


slackEvents.on('message', async event => {
  console.log('received!')
});


module.exports.server = sls(slackEvents.requestListener());

这是我在验证请求网址时遇到的错误

enter image description here

松弛请求URL验证

enter image description here

有人可以帮我吗?

node.js aws-lambda slack-api serverless-framework ngrok
1个回答
0
投票

我不确定如何确切地解决您的问题,但我知道是什么原因造成的。

您正在使用的库,serverless-http解析Slack发送的JSON正文。因为serverless-http希望解析原始请求主体本身,所以这将引发错误。

您可以尝试删除slack-api-sdk并仅响应API网关事件吗?

© www.soinside.com 2019 - 2024. All rights reserved.