【问题标题】:Slack slash command user tokenSlack 斜杠命令用户令牌
【发布时间】:2018-11-17 07:19:59
【问题描述】:

我们有一个团队 Slack 应用程序和一些使用它们配置的斜杠命令。斜杠命令将请求发送到使用 passport-slack 作为身份验证的快速 REST 端点。

我希望斜杠命令生成的请求包含用户的访问令牌,因为它已经登录到 Slack,而不仅仅是验证令牌

知道如何实现这一目标吗?

【问题讨论】:

    标签: oauth-2.0 passport.js slack


    【解决方案1】:

    我不建议这样做,因为它会破坏 Slack 的安全架构,并且如果您的应用是根据 Slack 的标准设计的,那么它也应该是不必要的。

    您的应用只需要在安装过程中检索和存储一次用户令牌,然后就可以无限期地将其用于所有未来的 API 调用,因为它没有到期日期。它们也不需要刷新。

    通常每个 Slack 团队只安装一次 Slack 应用程序,并将该令牌用于所有未来的 API 调用。这是使用 OAauth 2.0 协议完成的,该协议确保以安全的方式生成令牌。

    但如果你真的想要每个用户的用户令牌,你可以要求每个用户安装你的 Slack 应用程序。它称为“配置”,这样您就可以获得所有用户令牌。但同样,您只需要执行一次,您应该使用 Oauth 进程执行此操作。

    【讨论】:

    • 但是将所有用户的令牌存储在您的服务器上而不是在每个请求中接收它们并使用它而不存储它不是更不安全吗?
    • 不,这是 Slack 应用程序的标准做法。当然,您的应用需要保证它们的安全,但是将每个工作区的令牌存储在应用的数据库中是正常的。
    • 而且 Slack 令牌不是一次性令牌。它们永不过期,只需要创建一次,然后由 Slack 应用安全存储以备后用。
    • 这里是 Slack 关于该主题的官方帖子:api.slack.com/docs/oauth-safety
    猜你喜欢
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 2017-02-11
    • 1970-01-01
    • 2021-06-22
    • 2021-12-05
    相关资源
    最近更新 更多