Делать аутентифицированные запросы с помощью slackbot - PullRequest
2 голосов
/ 30 января 2020

Я следовал этому руководству на странице Google Cloud Run и создал небольшой частный API Google Cloud Run. Теперь я могу использовать curl, как описано здесь , чтобы делать запросы к моему API:

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

Пока все хорошо. Теперь я хотел бы построить слекбота. Slackbot должен отвечать на команды слеша, и всякий раз, когда выдается определенная команда слеша, он должен 1) аутентифицировать себя с помощью API и затем 2) выдавать команду.

Возможно ли это? Я просмотрел всю документацию по Slack API, но не смог найти пример, в котором Slack Bot должен был аутентифицировать себя с помощью другой службы. Может быть, кто-то может указать мне на руководство / учебное пособие, где автор реализовал частный API в Google Cloud, который вызывается из slackbot?

1 Ответ

2 голосов
/ 30 января 2020

Это невозможно. Вместо того чтобы дать Slack возможность сделать аутентифицированный запрос к вашему экземпляру Cloud Run, настройте его на , чтобы разрешить неаутентифицированный доступ , и вместо этого подтвердите, что событие из Slack является действительным, проверив token, предоставленный в запросе.

Это описано в документации Slack к API Event :

token: токен общего-приватного обратного вызова, который аутентифицирует этот обратный вызов приложения как пришедший из Slack. Сравните это с тем, что вам дали при создании подписки. Если оно не совпадает, не обрабатывайте событие и не удаляйте его.

...