chat.postMessage xoxb令牌,用于向所有工作区中的所有用户发布消息

抢劫

我将Slack / Node.js机器人用于https://www.npmjs.com/package/@slack/interactive-messageshttps://www.npmjs.com/package/@slack/events-api我使用以下命令捕获了与机器人的任何交互:

slackEvents.on(‘message’, (message: any, body: any) => …);

在Slack用户可以与机器人聊天之前,他们必须使用以下命令将其集成到其工作区中:https : //api.slack.com/docs/sign-in-with-slack(可在我的网站上找到登录用户)。成功响应后,我将获得两个不同的访问令牌:

  1. 来自bot_access_token的基于xoxb的身份验证令牌(如果不正确,这是基于工作空间的访问令牌)
  2. 来自access_token的基于xoxp的身份验证令牌(如果即时消息正确,则为基于用户的访问令牌)

我将上述令牌存储在数据库中的用户记录中。我使用xoxb令牌从也可以访问数据库的bot引擎执行方法,例如:https : //api.slack.com/methods/chat.postMessage

但是,一旦集成了僵尸程序,该僵尸程序就会暴露给许多用户。没有执行“以松弛方式登录”过程并且在数据库中的用户记录中没有任何xoxp或xoxb令牌的用户。我可以使用什么xoxb令牌与他们进行chat.postMessage?

我看到Slack API Bot仪表板的“ OAuth和权限”链接下有一个OAuth访问令牌(xoxp)和Bot用户OAuth访问令牌(xoxb)。这是一个主要的xoxb令牌,可用于在集成我的应用程序的任何工作空间中向Slack中的所有用户chat.postMessage吗?

埃里克·卡尔科肯(Erik Kalkoken)

令牌始终绑定到一个工作空间和一个用户。没有适用于多个工作空间的“主”令牌。

但是,一个应用程序通常每个工作区只需要一个令牌,它可以在按时安装过程中收到(如您所述)。您显然想在应用数据库中存储该令牌(机器人用户令牌和访问令牌,如果您有机器人用户的话)。

只要您的应用具有必要的范围,它就可以将该令牌用于涉及该工作空间的所有API调用。例如,您可以将消息发送给具有相同令牌的任何用户。为此,您需要做的就是将团队ID(从传入请求到正确的令牌)与您的响应相匹配。

要向任何用户发送直接消息,只需将用户ID用作通道chat.postMessage您可以在消息事件中获得该ID。

由于您具有机器人用户,因此建议您尽可能使用机器人令牌,并且仅在机器人令牌不起作用(并非所有API方法都适用于机器人令牌)的情况下才使用访问令牌。

这些标记之间的差异的详细说明可以在此处找到

另请参阅如何获取与工作区无关的Slack机器人令牌?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有chat.postMessage的图像附件-Slack API

闲置频道/用户ID和chat.postMessage

是否可以以Slack团队中的任何用户身份发布chat.postMessage?

找不到松弛的Web API返回通道chat.postMessage到私有通道

闲聊chat.postMessage与传入的Webhook?

chat.postMessage响应的invalid_json

Slack机器人无法通过chat.postMessage将消息发送到受限制的常规频道

Windows服务中的PostMessage

未收到使用postMessage()的消息

Port.postmessage()中的sendResponse

为工作区中的所有用户获取令牌

如何正确格式化Slack chat.postMessage的附件数据

在收到postMessage内容后,iframe会加载所有内容

特定形式(ClassName)的所有实例的PostMessage:

离子打字稿中的window.postMessage

postMessage函数重复运行而没有发送消息

带有Sharepoint iframe调整大小的postMessage无法正常工作

WinApi消息循环,Postmessage的工作方式类似于SendMessage

PostMessage:如何将消息发布到没有窗口的进程?

如何向bot中的所有用户发送消息?

TypeError:IOS上带有window.postMessage的参数不足

Chrome-app与带有PostMessage的主页之间的通信

通过worker.postMessage()发送的消息是否排队?

为什么JavaScript“ window.postMessage”创建重复的消息?

Delphi:如何从PostMessage接收自定义Windows消息?

如何:“ postMessage”可以发送两条消息吗?

Python win32gui.PostMessage无法正常工作

Swing Chat HTML格式的消息

跨域postMessage在IE10中是否损坏?