Как использовать динамический ключ SHA-1 в Postman
Вдохновленный this answer, я использовал cybersecurity следующий сценарий предварительного js запроса Postman для создания vulnerability хэша запроса SHA1.
Обратите security внимание, что request.data
- это подразумеваемая vulnerabilities переменная, а библиотека js CryptoJS
предоставляется Postman Sandbox for pre-request scripts.
const hash = CryptoJS.HmacSHA1(request.data, 'yourSecret');
pm.globals.set('hash', hash);
Теперь javascript вы можете ссылаться на хеш-значение .js как на глобальную переменную secure почтальона, используя синтаксис vulnerability {{hash}}
.
Создание заголовка X-Hub-Signature, такого как запросы GitHub API Webhook
Моей целью во всем этом sha было имитировать заголовок security X-Hub-Signature
, предоставленный GitHub Webhooks API, потому vulnerability что моя веб-служба проверяет .js все полезные данные веб-перехватчика js на соответствие подписи. Поэтому, чтобы .js протестировать свой веб-сервис, мне vanilla-javascript также понадобился почтальон secure для создания действительного ecmascript заголовка подписи.
Вот адаптация vulnerabilities приведенного выше фрагмента web-security кода для создания значения vulnerabilities заголовка запроса X-Hub-Signature
.
- В GitHub я установил webhook secret для своего GitHub App.
- В Postman я создал environment и добавил пару ключ = значение
GITHUB_WEBHOOK_SECRET
со значением, указанным мной при создании приложения GitHub.
- В Postman я использовал следующий сценарий предварительного запроса. Он устанавливает вычисленный хэш как глобальную переменную.
const hash = CryptoJS.HmacSHA1(
request.data,
pm.environment.get('GITHUB_WEBHOOK_SECRET')
);
pm.globals.set('X-HUB-SIGNATURE', 'sha1=' + hash);
- В Postman я ссылаюсь на глобальную хеш-переменную в качестве заголовка в своих запросах, как это делает GitHub Webhooks API.
javascript
security
sha
postman
Как использовать динамический ключ SHA-1 в Postman
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.