使用slackbot发送经过身份验证的请求

时间:2020-01-30 18:57:55

标签: google-cloud-platform slack slack-api google-cloud-run

我遵循了Google Cloud Run页面上的教程,并创建了一个小型的私有Google Cloud Run API。现在,我可以按照here所述使用curl向我的API发出请求:

curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" SERVICE_URL

到目前为止一切顺利。现在,我想构建一个slackbot。 slackbot应该响应slashcommand,并且每当发出某个slashcommand时,它都应1)用API对其自身进行身份验证,然后2)发出命令。

有可能吗?我浏览了整个Slack API文档,但找不到一个示例,其中Slack Bot必须使用其他服务进行身份验证。有人可以指出我的指南/教程吗,作者在其中实现了从slackbot调用的私有API?

1 个答案:

答案 0 :(得分:2)

不可能。与其赋予Slack对您的Cloud Run实例发出经过身份验证的请求的能力,不如将其配置为allow unauthenticated access并通过验证请求中提供的token来验证来自Slack的事件是否有效。

这在Slack的Event's API documentation中有所描述:

token:共享私有回调令牌,用于向应用程序验证此回调是否来自Slack。将其与创建订阅时获得的信息进行匹配。如果不匹配,请不要处理该事件并将其丢弃。