有人检查过 Slack 中的传出 Webhook 和 Slash 命令吗?
在 Slash 命令和传出 Webhook 的情况下,命令字符串连同 user_id 和令牌在 POST 正文中发送到外部 URL(对应于命令)。问题是所有团队成员的令牌都保持不变(令牌在集成页面上可见,因此对团队是公开的。端点 URL 也是公开的)。这意味着这是一种针对团队验证请求的机制,但没有针对用户验证请求的机制。
我可以使用相同的标头、令牌和请求正文从不同的服务器复制请求,但使用我的团队成员的 user_id,使其看起来像是其他人执行了该命令。也无法验证请求是否来自 Slack 服务器。
我的问题是 - 我在这里遗漏了什么吗?Slash 命令甚至是用于 CRUD 操作(在外部服务上)还是只是从简单的服务(如天气、堆栈溢出或公共 API)中获取数据?如果没有,你如何解决这个问题?
更新 - 与@SlackAPI 交谈,他们说我们需要单独验证 user_id。