在机器人消息发布事件

时间:2016-07-18 10:39:15

标签: slack-api slack

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

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

谢谢

1 个答案:

答案 0 :(得分:5)

啊,我明白了!所以,再次,这不是你正在寻找的,但它非常接近:
你可以做的是使用你自己的Slack外部的OAuth系统,然后将该系统中的用户绑定到Slack团队的user_id
根据特定用户的请求,您的机器人可以为此用户提供与您自己的(松弛外部)OAuth系统相关联的唯一URL。完成此过程后,您可以将识别用户的方式与Slack的方式相关联(即team_iduser_id

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

几个月前,我建造了这样的东西。在这里,我们在Slack自己的OAuth上使用Mondo API的OAuth:Mondobot 包含相关代码的文件为this one.