为工作空间中的所有用户获取令牌

时间:2019-01-16 17:11:14

标签: slack-api

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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