Защищенные веб-API используют веб-токены JSON для обмена информацией об авторизации в заголовке HTTP. Когда пользователь аутентифицируется в начальной конечной точке входа, возвращается JWT, а затем каждый последующий безопасный запрос содержит JWT в заголовке. Токены состоят из трех частей, которые закодированы base64url и могут быть легко расшифрованы онлайн для проверки. Однако использование веб-сайта для онлайн-декодирования может подвергнуть ваше приложение риску, если токен будет перехвачен и использован повторно. Здесь я покажу, как безопасно использовать Postman для декодирования и визуализации закодированных полезных данных JWT.

Postman — прекрасный инструмент для тестирования, который можно легко настроить для выполнения запроса аутентификации для получения JWT. Полезную нагрузку JWT можно сохранить в переменной среды, которую можно повторно использовать в качестве заголовка авторизации в других запросах. Postman также предоставляет нам возможность запускать тестовые примеры JavaScript для проверки и визуализации полезной нагрузки JWT.

Использование токена JWT с безопасными запросами.

В Postman создайте новое рабочее пространство и окружение.

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

var jsonData = pm.response.json();
pm.environment.set('jwt', jsonData.access_token);

Нажатие кнопки «Отправить» запускает запрос в Postman и автоматически запускает тестовый сценарий.

Теперь любой запрос Secure API может использовать эту переменную среды, просто добавив заголовок авторизации. В любом новом запросе перейдите на вкладку «Заголовки» и добавьте новый ключ авторизации со значением Bearer {{jwt}}. Двойная фигурная скобка будет заменена текущим значением указанной переменной среды.

Декодирование JWT для проверки полезной нагрузки и утверждений.

Визуализатор в Postman позволяет нам создавать и использовать шаблон Handlebars для отображения HTML-таблицы на основе декодированных данных JWT. Добавьте следующий скрипт на вкладку Тест вашего запроса на аутентификацию, чтобы декодировать токен JWT локально.

Чтобы просмотреть HTML-код рендеринга, щелкните вкладку «Визуализация» в разделе ответа.