在 bot 消息发布事件中验证 slack 用户

Authenticate slack user in bot message posted event

我有一个 Slack 机器人应用程序需要验证收到的消息。我的应用程序将向 Slack 提供令牌,而不是从 Slack 接收令牌。 Slack 然后会在每次请求期间将令牌发送到我的应用程序。然后我的应用程序可以验证消息的来源。

在 Slack 的平台上有没有办法成为 Slack 的 Oauth 提供者或某种方式来验证消息?

谢谢

啊,原来如此!所以,这又不是您要找的东西,但它非常接近:
您可以做的是在 Slack 外部使用您自己的 OAuth 系统,然后将该系统中的用户绑定到您的 Slack 团队的 user_ids。
根据特定用户的请求,您的机器人可以向该用户发送一个与您自己的(松弛外部)OAuth 系统绑定的唯一 URL。该过程完成后,您可以将 您的 识别用户的方式与 Slack 的方式相关联(即 team_iduser_id

因此,您的机器人收到的任何消息(包括发送它的用户的 user_id)现在都可以根据您自己的用户模型进行检查,以查看该特定用户是否具有所需的权限或任何类似性质的东西。
通过这种方式,您基本上可以将任何 OAuth 系统与 Slack 的用户识别方法结合使用。这有点 hacky,但它确实有效。

几个月前我构建了类似的东西。这里我们在 Slack 自己的 OAuth 之上使用 Mondo API 的 OAuth:Mondobot 具有相关代码的文件是this one.