首页 > 解决方案 > 为工作区中的所有用户获取令牌

问题描述

我一直在为我的工作区的用户制作一个松弛的应用程序。它是一个侧边栏,为我们的网站添加了 Slack 消息传递功能,因此我们不必离开网站即可查看我们的 Slack 消息。我在尝试为每个用户获取不记名令牌时遇到了麻烦。

到目前为止,我一直在遵循 Slack OAuth 2.0 身份验证流程,以便为用户接收令牌。这在测试中对我有用,目前也适用于我们的一些用户。但是,一些用户看到的东西完全不同。

他们没有询问他们是否允许使用他们的 slack 配置文件,slack.com/oauth/authorize而是告诉他们他们无法安装该应用程序,因为它没有列在 slack 目录中。但是,此页面不应将应用程序安装到工作区。它已经安装好了。它应该只是要求他们允许使用他们的个人资料。

我使用了错误的页面吗?我错过了我需要做的事情吗?

标签: slack-api

解决方案


Slack 中的Oauth 进程不仅用于获取访问令牌,而且始终被视为各个 Slack 应用程序的安装过程。因此,您的用户基本上是在每次运行 Slack Oauth 过程时(重新)安装您的 Slack 应用程序。这是标准行为,无法更改。

如果您想继续使用此过程,您可以简单地为所有用户在工作区上安装您的 Slack 应用程序(单击此特定应用程序的工作区的应用程序管理页面上的批准),然后您的用户将不再收到错误信息。您可能还需要在应用管理页面上启用 Slack 应用的分发。

顺便提一句。由多个用户安装相同的 Slack 应用程序是为单个用户获取访问令牌的默认方法。Slack 将这些附加安装称为“配置”,您可以在工作区的应用程序年龄中看到它们。

请注意,从 Oauth 进程获得的 Slack 访问令牌不会过期。因此,您只需让用户安装您的 Slack 应用程序一次,然后存储 Slack 访问令牌以供下次使用。


推荐阅读