You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Slack Events API验证事件订阅URL时token、challenge为空

Slack事件订阅URL验证字段为空排查指南

按以下优先级逐一排查,90%以上的字段为空问题都是网关/函数层解析配置错误导致,而非Slack侧问题:

1. API Gateway 配置排查

  • 检查集成模式:如果使用Lambda代理集成,删除所有自定义请求体映射模板,自定义模板会覆盖原始请求内容,导致Lambda收到空payload。
  • 检查Content-Type规则:Slack验证请求的格式为application/json,确认API Gateway未强制将请求转换为表单格式、未拦截JSON类型请求。
  • 自测验证:本地用POST工具向你的API地址发送携带测试JSON体的POST请求,查看Lambda日志中是否能收到完整请求体,如果自测也拿不到body内容,直接修复网关配置即可,和Slack无关。
  • 检查编码配置:Lambda代理集成下,部分区域API Gateway会把请求体做base64编码传输,需要先判断isBase64Encoded字段,为true时先做base64解码再解析JSON,直接解析会拿到空值。

2. 请求地址合规性排查

  • 确认填入Slack后台的是公网可访问的标准HTTPS地址,不支持HTTP协议、自签名证书HTTPS、非443端口的HTTPS地址,不符合规范的地址会触发Slack发送空payload的试探请求。
  • 不要在请求URL后拼接自定义query参数,多余参数会触发Slack的异常请求逻辑,仅填写纯接口路径即可。

3. Slack应用状态排查

  • 确认当前操作的应用未被归档、未触发工作区权限限制,切错工作区、使用异常状态的测试应用时,Slack不会发送带完整校验字段的请求。
  • 确认填写URL时未处于Slack后台登录态过期状态,登录态失效时保存配置触发的验证请求不会携带完整字段。

4. Lambda函数逻辑排查

  • 不要在验证流程前加签名校验逻辑:首次URL验证时你还未完成配置,提前校验Slack签名会直接返回错误,Slack重试时可能发送空payload,签名校验逻辑要在URL验证完成后再加。
  • 开启全量请求日志:打印所有收到的请求头、原始请求体内容,确认是请求本身为空,还是代码JSON解析逻辑出错导致字段读取失败。

验证通过标准:收到请求type为url_verification时,直接将请求中携带的challenge字段原值返回,返回头Content-Type为text/plain或application/json即可,不要包裹额外的自定义结构。

内容的提问来源于stack exchange,提问作者joekadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 16:45:15