其他用户如何才能为我的开发中的Slack应用获取令牌?

时间:2019-04-28 15:24:42

标签: python slack slack-api

TLDR :我有一个松弛的应用程序,用于管理其开发工作区中的私有通道,以及用于继承我的用户权限的令牌。同一工作区中的其他人如何才能获取此应用程序的令牌,而这些令牌却继承了他们的用户权限?

好,所以背景是:我需要根据一些或多或少复杂的与ldap相关的条件来管理一堆私人频道的成员资格。为此,我想编写一个简单的Python程序,获取有关通道的成员资格,用ldap魔术找出谁应该在哪里,然后再这样做。

我已经实现了这一点,到目前为止一切正常。现在的问题是,出于隐私原因,我(我的闲适用户)不能进入所有这些频道。我获得的API和Bot令牌继承了我自己的所有用户权限。这意味着我既看不到也不管理自己不参与的频道。

根据我在Slack API文档中所读的内容,有一种方法可以让另一个用户对我创建的应用进行OAuth流程以获取令牌,获取自己的令牌并将其与我编写的Python程序。很好,但是我不知道该怎么做。

没有其他人可以直接访问该应用程序。该文档使我似乎需要给人们一个特殊格式的链接(“添加到松弛按钮”),他们可以单击该链接以完成整个过程。但这似乎需要“重定向URL”。我不确定这是什么,文档也不十分清楚,但是似乎他们假设该应用程序正在某处的服务器上运行,并且需要回答来自Slack或其他方面的请求。事实并非如此。这是一个相当简单的Python脚本,而不是将始终响应Slack事件的某些永远在线的云应用。

因此,感觉就像我缺少了一些东西。我可能对此工作原理有一些基本的误解,或者有一种简单的方法让其他人获得这样的令牌,而我却没有看到它。

1 个答案:

答案 0 :(得分:1)

是的。如果您希望其他用户对您的应用进行身份验证(例如生成令牌,以便您的应用可以代表用户执行任务),则需要创建installation routine using Ouath 2.0。该安装例程是一个小型Web应用程序,具有“添加到Slack”按钮,HTML界面,并且能够通过Oauth 2.0进程运行。该Web应用程序需要在公共Web服务器上运行。

出于开发目的,Web服务器也可以通过连接公共Internet的VPN隧道在本地开发计算机上运行。 Slack建议为此目的使用VPN服务ngrok