如何使用服务器上的Slack API进行身份验证

时间:2018-07-12 07:14:36

标签: oauth slack

我正在构建一个如下所示的Slack斜杠命令

/shoutout [@recipient with message]

这将触发具有发送者和接收者的用户ID的POST到我的服务器。但是,我需要他们的全名。我想向Slack API发送名称请求,这似乎可以通过使用用户ID对https://slack.com/api/users.info进行GET来实现。

我在了解如何执行此操作时遇到的问题与令牌要求有关。我知道如何使用我的工作区来执行此操作(只需将我的工作区的OAuth令牌作为请求的一部分发送),但是如何将其与安装我的应用程序的其他工作区一起使用?换句话说,如何为安装我的应用程序的其他工作区获取有效的OAuth令牌?我的处理方式不正确吗?

1 个答案:

答案 0 :(得分:1)

您在正确的道路上。实际上,您的应用程序应该在每个Slack工作区上都需要一个单独的令牌。

要获取它,您的应用程序必须安装到每个工作区一次,并且您的应用程序需要捕获并存储将在安装过程中创建的令牌。安装过程是标准的Oauth2.0流程,通常由外部网站管理,该外部网站与Slack为工作区协商了OAuth流程。该网页通常有一个“添加到松弛”按钮,它将开始安装过程。

要实现这一点,您需要执行以下操作:

  1. 您需要创建一个Slack应用来获取客户端ID和客户端密码

  2. 在应用的管理页面上激活Slack应用的分发

  3. 创建一个处理Oauth流程的网页

这是Oauth flow的Slack的详细说明。

这是有关Slack Button的详细信息。

最后,这是一个example PHP script,用于将Slack应用安装到工作区。

相关问题