Тестирование API c Postman

Теория: Авторизация

В этом уроке мы поговорим о процессе, который лежит в основе каждого нашего взаимодействия с онлайн-сервисами. Когда вы входите в свою учетную запись в социальной сети, вы вводите свои логин и пароль. Сервер приложения затем проверяет, соответствуют ли эти данные тому, что хранится в базе данных пользователей. Если данные совпадают, то вы получаете доступ к своей учетной записи. Этот процесс называется аутентификацией.

Аутентификация — это процесс удостоверения личности пользователя в приложении. Она используется для того, чтобы убедиться, что пользователь — это именно тот, за кого он себя выдает.

Postman позволяет передавать данные для аутентификации вместе с любым запросом. Для этого нужно перейти на вкладку "Authorization" запроса. Данные могут быть включены в заголовок, тело или параметры запроса, в зависимости от того, какой тип аутентификации выбран. Если вы введете свои данные авторизации на вкладке "Authorization" запроса, Postman автоматически заполнит соответствующие части запроса для выбранного вами типа авторизации. Таким образом, вы можете просмотреть, как Postman отправит ваши данные, до того, как вы запустите запрос.

Типы аутентификации

Дальше мы рассмотрим несколько наиболее часто используемых типов аутентификации и узнаем, как настроить их в Postman:

  • Базовая аутентификация
  • Bearer token
  • Api key

Базовая аутентификация

Это самый простой вид аутентификации, использующий имя пользователя и пароль. Базовая аутентификация подразумевает отправку имени пользователя и пароля вместе с запросом. Данные передаются в заголовке Authorization в формате имя_пользователя

, закодированные в формате Base64

  • На вкладке "Authorization" запроса выберите Basic Auth в раскрывающемся списке Type.
  • Введите имя пользователя и пароль в поля Username и Password

Базовая аутентификация

Чтобы разобраться, что произошло, посмотрим на HTTP запрос, который сформировал Postman:

PATCH /postman/tasks/1 HTTP/1.1
Host: http.hexlet.app
Accept: application/json
Authorization: Basic dGVzdDpxd2VydHk=
...

В заголовках запроса появился заголовок Authorization, а его значением стала закодированная в Base64 строка с вашим именем и паролем, добавленная к тексту Basic

Этот же заголовок вы можете увидеть на вкладке Headers запроса:

Заголовок базовой аутентификации

Эти данные конфиденциальные, поэтому Postman по умолчанию скрывает их в интерфейсе. Чтобы увидеть значение заголовка, нажмите на значок hidden

Bearer token

Этот тип токена предоставляется пользователю после успешной аутентификации. Токен обычно представляет собой строку, которую пользователь должен передавать в заголовке каждого запроса к защищенному сервису или приложению. Токен передается в заголовке Authorization с префиксом "Bearer"

  • Перейдите на вкладку Authorization запроса и выберите Bearer Token в раскрывающемся списке Type
  • Введите полученный токен в поле "Token"

Аутентификация по токену

Postman добавит значение токена с префиксом Bearer в требуемом формате в заголовок Authorization запроса следующим образом:

GET /postman/users HTTP/1.1
Host: http.hexlet.app
Accept: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJJc3N1ZXIiOiJoZXhsZXQifQ.INHpBsmpvPZ6PNWVZiOyJhTQ2MQW_6PfxTYdrPWmF8o

API key

API key — это уникальный идентификатор, который выдает сервер клиенту (например, разработчику приложения) для доступа к API. Этот ключ обычно передается как пара ключ-значение в заголовках HTTP или как параметр запроса.

  • На вкладке "Authorization" запроса выберите API Key в списке Auth Type.
  • Введите имя и значение ключа, а в раскрывающемся списке Add to выберите, куда добавить токен: Header или Query Params

api key аутентификация

Postman добавляет соответствующую информацию в заголовки вашего запроса или строку запроса, в зависимости от того, что вы выбрали на этапе настройки

POST /http-api/courses HTTP/1.1
Host: http.hexlet.app
Accept: application/json
X-API-KEY: tybRrq0Te4tBtQAubh9Qs9qprLyTc2kbBn4laQFPzYxtWymhMZRt5gTQ8a3aBegrgW5FZoEcmijz8micMRFUglLJDAv2QtqSZwzaWugMlyfLvnsIAWhrLS8y
...

Заголовок api key

Как посмотреть детали аутентификации

После выбора и настройки типа авторизации ваши данные появляются в соответствующих частях запроса. Например, на вкладке Headers. Чтобы посмотреть детали аутентификации, перейдите на эту вкладку. Заголовки, которые Postman добавляет автоматически, по умолчанию скрыты. Чтобы просмотреть такие заголовки, выберите hidden.

Изменить вручную заголовок аутентификации на вкладке Headers не получится. Чтобы изменить заголовок, вернитесь на вкладку Authorization и обновите конфигурацию.

В этом уроке мы изучили три основных вида аутентификации в Postman: базовую аутентификацию, аутентификацию с помощью Bearer token и аутентификацию с помощью API key. Каждый из этих видов аутентификации имеет свои особенности и преимущества и используется в зависимости от требований конкретного API. Мы рассмотрели, как настроить каждый вид аутентификации в Postman, и теперь вы можете использовать эти знания для работы с защищенными API

Рекомендуемые программы