Ключ API на шлюзе API для использования с командами слеша - PullRequest
1 голос
/ 19 июня 2019

Я создаю новое приложение Slack, которое в основном принимает команды слеша.Он уже работает, но я хотел бы защитить свой API с помощью API-ключа.Сконфигурировал ключ API + план использования уже, но не уверен, как его использовать на слабой стороне.

Мне в основном нужно отправить заголовок x-api-key, но это не представляется возможным из-заСлабая сторона?

Наличие открытого API, основанного только на маркере проверки слабины, кажется очень рискованным, в зависимости от вашей команды ...

Есть ли способ сделать это или это способидти?Проверка только с помощью токена и идентификатора команды.

Ответы [ 2 ]

1 голос
/ 19 июня 2019

Невозможно добавить пользовательские заголовки к запросам, поступающим из Slack, как x-api-key, как вы предложили.

Стандартный подход к защите вашего API заключается в использовании «подписанных секретов», а не токена проверки. Токен проверки - это старая функция безопасности, которая все еще работает, но менее безопасна и поэтому больше не рекомендуется.

Подписанные секреты будут криптографически подписывать каждый запрос от Slack сгенерированным ключом с использованием стандартного хешированного ключа HMAC-SHA256. Вы можете найти этот ключ на странице конфигурации вашего приложения.

Проверьте эту документацию для получения более подробной информации о том, как использовать подписанные секреты.

0 голосов
/ 20 июня 2019

API Gateway позволяет настроить шаблон Velocity для повторного отображения HTTP-запросов. Вы можете настроить свой ключ API в качестве параметра запроса как часть веб-крючка, который вы указываете в конфигурации приложения Slack (безопасный, если вы используете HTTPS), и направить его на конечную точку, для которой не требуется ключ. Затем переназначьте параметр запроса в заголовок x-api-key и перенаправьте в аутентифицированную конечную точку.

...