如何指定团队使用Slack登录

时间:2016-06-28 03:06:50

标签: omniauth slack-api slack

我正在建立一个网站,我添加了“使用Slack登录”按钮。 我正在使用omniauth-slack(最新的8b2371)并且效果很好。 但我想只允许我自己的Slack团队的用户。

team参数,但行为不太好(https://api.slack.com/docs/oauth)。 仅当用户登录团队时,它才会自动选择团队。 否则,用户必须手动键入其团队域。 如果用户登录到另一个团队,情况会变得更糟;尽管指定了我的团队ID,但它尝试与其他团队一起登录(即使,无法更改/选择团队域以登录,也只有“授权”按钮)。

我可以通过在回调操作中检查他们的团队ID来禁止其他团队的用户,但我不想在我的团队成员用Slack登录我的网站时混淆。

有没有人遇到同样的问题?

1 个答案:

答案 0 :(得分:0)

在授权URL中使用工作区的子域而不是Slack默认值。在python-social-auth docs中,这就像定义一个新的后端一样简单,例如:

class MyTeamSlackOAuth2(SlackOAuth2):
    AUTHORIZATION_URL = 'https://myteamhere.slack.com/oauth/authorize'

并使用它代替库存的一个。我不知道omniauth中的并行操作是什么,但我会将其留给读者练习。 :)