October 17, 2020

Авторизация в Postman

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


Настройки авторизации при сборе данных

В Postman вы можете установить необходимые параметры аутентификации и настройки индивидуально для каждого запроса. Но когда вы тестируете API и у вас есть коллекция, то, как правило, имеет смысл сделать глобальные настройки для всех запросов в коллекции.

1. Когда вы откроете боковую панель в Postman и наведете курсор на сохраненную коллекцию, появится новая кнопка "..." с доступом к настройкам коллекции:

Для доступа к настройкам коллекции выберите " Edit " (Правка) в меню "more actions" (Больше действий):

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

Выберите "Basic Auth" из списка. Базовая аутентификация доступа - это метод авторизации, с которым вы, вероятно, уже сталкивались. В вашем веб-браузере при вызове любой страницы или директории, защищенной "Basic Auth", будет сгенерировано всплывающее окно с формой логина:

Введите имя пользователя и пароль, как показано на картинке, затем нажмите кнопку " Update " (Обновить):

Чтобы проверить конфигурацию, сделайте GET-запрос на защищенную страницу:

Чтобы проверить, что конфигурация авторизации работает, выключите Basic Auth и запросите ту же самую страницу еще раз.
Перейдите на вкладку Авторизация запроса и в выпадающем меню выберите " No Auth":

Веб-сервер теперь отобразит ошибку, потому что запрос не аутентифицирован, но папка требует базовой аутентификации.
После возврата типа Авторизация к значению по умолчанию "Inherit auth from parent", глядя на код, можно увидеть, что данный метод аутентификации работает, отправив новый заголовок запроса, содержащий имя пользователя и пароль в Base64-кодированной форме:

Bearer Token

  • Bearer Token довольно похож на Basic Auth, в том, что он будет передаваться в виде заголовка запроса, а не " Authorization ": Basic", он будет использоваться: " Authorization." EXAMPLETOKEN на предъявителя".
    Пример:
  • Bearer Token - это токен безопасности, который подразумевает, что любая сторона, владеющая им ("предъявитель"), имеет доступ к защищенному ресурсу. Обычно он генерируется сервером в ответ на запрос авторизации

Давайте проверим Bearer token:

Перед тем, как протестировать авторизацию токена Bearer, необходимо сначала отменить настройки авторизации коллекции. В противном случае сервер попытается применить базовую авторизацию ко всем директориям, к которым вы пытаетесь получить доступ, и не сможет ее выполнить, так как у них не включена одна и та же комбинация имя пользователя/пароль для других папок:

Теперь, сначала создайте POST-запрос на вход, чтобы запросить токен Bearer:

После нажатия кнопки "Отправить" в ответе должна отобразиться метка "EXAMPLETOKEN".
Если Вы отправите неверную комбинацию "Имя пользователя/пароль", сервер вместо этого представит Вам форму для входа в систему.
Используйте возвращенный токен в новом GET-запросе:

Когда вы отправите этот запрос (не забудьте сохранить его и в своей коллекции), в ответе будет указано, был ли этот запрос успешным: