首页 文章

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

提问于
浏览
1

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

/shoutout [@recipient with message]

这将触发POST到我的服务器,发送方和接收方都希望向Slack API发送请求以获取其名称,这似乎可以通过使用用户ID进行GET到https://slack.com/api/users.info来实现 .

我理解如何做到这一点的问题是令牌要求 . 我知道如何使用我的Workspace执行此操作(只需将我的工作区的OAuth令牌作为请求的一部分发送),但是如何将其与安装我的应用程序的其他工作区一起使用?换句话说,如何为安装我的应用的其他工作区获取有效的OAuth令牌?我接近这个错误吗?

1 回答

  • 1

    你是在正确的道路上 . 对于应用程序应该处理的每个Slack工作区,您确实需要一个单独的令牌 .

    要获得它,您的应用程序必须安装到每个工作区一次,您的应用程序需要捕获并存储将在安装过程中创建的令牌 . 安装过程是标准的Oauth2.0流程,通常由外部网站管理,该外部网站使用Slack为工作区协商OAuth流程 . 该网页通常有一个“Add to Slack”按钮,它将启动安装过程 .

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

    • 您需要创建一个Slack应用程序来获取客户端ID和客户端密钥

    • 在应用程序的管理页面上激活Slack应用程序的分发

    • 创建一个处理Oauth流的网页

    以下是Slack的Oauth flow的更详细说明 .

    以下是有关Slack Button的更多详细信息 .

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

相关问题