【发布时间】:2018-11-17 07:19:59
【问题描述】:
我们有一个团队 Slack 应用程序和一些使用它们配置的斜杠命令。斜杠命令将请求发送到使用 passport-slack 作为身份验证的快速 REST 端点。
我希望斜杠命令生成的请求包含用户的访问令牌,因为它已经登录到 Slack,而不仅仅是验证令牌
知道如何实现这一目标吗?
【问题讨论】:
标签: oauth-2.0 passport.js slack
我们有一个团队 Slack 应用程序和一些使用它们配置的斜杠命令。斜杠命令将请求发送到使用 passport-slack 作为身份验证的快速 REST 端点。
我希望斜杠命令生成的请求包含用户的访问令牌,因为它已经登录到 Slack,而不仅仅是验证令牌
知道如何实现这一目标吗?
【问题讨论】:
标签: oauth-2.0 passport.js slack
我不建议这样做,因为它会破坏 Slack 的安全架构,并且如果您的应用是根据 Slack 的标准设计的,那么它也应该是不必要的。
您的应用只需要在安装过程中检索和存储一次用户令牌,然后就可以无限期地将其用于所有未来的 API 调用,因为它没有到期日期。它们也不需要刷新。
通常每个 Slack 团队只安装一次 Slack 应用程序,并将该令牌用于所有未来的 API 调用。这是使用 OAauth 2.0 协议完成的,该协议确保以安全的方式生成令牌。
但如果你真的想要每个用户的用户令牌,你可以要求每个用户安装你的 Slack 应用程序。它称为“配置”,这样您就可以获得所有用户令牌。但同样,您只需要执行一次,您应该使用 Oauth 进程执行此操作。
【讨论】: