【问题标题】:How to authenticate with Slack API from server如何从服务器使用 Slack API 进行身份验证
【发布时间】:2018-07-12 07:14:35
【问题描述】:

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

/shoutout [@recipient with message]

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

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

【问题讨论】:

    标签: oauth slack slack-api


    【解决方案1】:

    你走在正确的道路上。您确实需要为您的应用程序应该运行的每个 Slack 工作区提供一个单独的令牌。

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

    要做到这一点,您需要执行以下操作:

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

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

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

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

    这里有更多关于Slack Button的详细信息。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-06
      • 2012-09-06
      • 1970-01-01
      • 2012-05-08
      • 2010-10-21
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      相关资源
      最近更新 更多