【问题标题】:Authenticate slack user in bot message posted event在机器人消息发布事件中验证 slack 用户
【发布时间】:2016-11-20 22:28:44
【问题描述】:

我有一个需要对收到的消息进行身份验证的 Slack 机器人应用程序。我的应用程序不会从 Slack 接收令牌,而是向 Slack 提供令牌。然后,Slack 会在每个请求期间将令牌发送到我的应用程序。然后我的应用程序可以验证消息来自谁。

Slack 平台上是否有办法成为 Slack 的 Oauth 提供者或某种方式来验证消息?

谢谢

【问题讨论】:

  • 我认为根本不支持您正在寻找的东西。但是有一些方法可以通过team_iduser_idchannel_id 等查看消息的来源。也许你可以扩展一下这个用例是什么?
  • @WilhelmKlopp - 我正在使用来自机器人用户频道的消息为用户在非松弛系统上执行操作。在对第 3 方系统执行操作之前,我想使用 oauth 在我的系统上对用户进行身份验证。

标签: slack-api slack


【解决方案1】:

啊,我明白了!因此,再次强调,这并不是您要寻找的,但它非常接近:
您可以做的是在 Slack 外部使用您自己的 OAuth 系统,然后将该系统中的用户与您的 Slack 团队的user_ids 联系起来。
根据特定用户的请求,您的机器人可以向该用户发送一个与您自己的(松弛外部)OAuth 系统相关联的唯一 URL。该过程完成后,您可以将您的识别用户的方式与 Slack 的方式相关联(即team_iduser_id

因此,您的机器人收到的任何消息(包括发送该消息的用户的 user_id)现在都可以根据您自己的用户模型进行检查,以查看该特定用户是否具有所需的权限或其他任何权限自然。
这样,您基本上可以将任何 OAuth 系统与 Slack 的用户识别方法结合使用。这有点 hacky,但它确实有效。

几个月前我建立了这样的东西。在这里,我们在 Slack 自己的 OAuth 之上使用 Mondo API 的 OAuth:Mondobot 有相关代码的文件是this one.

【讨论】:

  • 好的,这就是我已经设置好的。我希望有一种更好/更清洁的身份验证方式。消息进来并且仅根据 slack 的 userId 而不是实际令牌进行检查,但这可能并不重要,因为用户已经通过他们的 Slack 客户端进行了身份验证。谢谢。
猜你喜欢
  • 1970-01-01
  • 2019-10-28
  • 2017-09-02
  • 2016-10-20
  • 1970-01-01
  • 1970-01-01
  • 2020-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多