【问题标题】:Getting tokens for all users in a workspace为工作区中的所有用户获取令牌
【发布时间】:2019-01-16 17:11:14
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: slack-api


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢您的解释。我发现的 Oauth 文档都没有提到这一点,所以我很困惑为什么它认为他们想要安装应用程序
    猜你喜欢
    • 2019-10-23
    • 2016-02-25
    • 2021-12-01
    • 2017-12-04
    • 2013-04-06
    • 2017-04-24
    • 2018-07-27
    • 2011-03-17
    • 1970-01-01
    相关资源
    最近更新 更多