Идентификация, аутентификация и авторизация

Представьте, что доступ к API — это как вход в защищенное здание. Чтобы получить доступ к нужной комнате (ресурсу), вам нужно пройти три этапа контроля.

????

Начало

Нажмите "Начать", чтобы увидеть, как пользователь пытается получить доступ к ресурсу.

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

Существует несколько способов доказать серверу, что вы — это вы. Ниже приведены самые популярные из них с примерами настройки и тестирования.

No Auth

Используется для публичных API (например, API курсов валют), где не требуется проверка личности для доступа к данным.

Настройка в Postman

Во вкладке Authorization выберите тип No Auth. Никаких дополнительных полей заполнять не нужно.

Как тестировать?

  • Убедиться, что запрос проходит без данных аутентификации (статус 200 OK).
  • Проверить, что отправка случайных auth-заголовков не ломает запрос (сервер должен их игнорировать).

Basic Auth

Самый простой метод. Логин и пароль объединяются, кодируются в Base64 и передаются в заголовке Authorization.

Настройка в Postman

Тип Basic Auth. Введите Username и Password в соответствующие поля. Postman сам сформирует нужный заголовок.

Authorization: Basic dXNlcjpwYXNzd29yZA==

Как тестировать?

  • Корректные данные: запрос проходит (200 OK).
  • Некорректный пароль/логин: ошибка 401 Unauthorized.
  • Пустые поля: ошибка 401 Unauthorized.

API Key

Вы получаете специальный ключ (строку символов) и передаете его с каждым запросом либо в заголовке, либо как параметр URL.

Настройка в Postman

Тип API Key. Укажите имя ключа (Key), его значение (Value) и способ передачи (Add to: Header или Query Params).

Как тестировать?

  • Корректный ключ: запрос проходит (200 OK).
  • Некорректный/пустой ключ: ошибка 401 Unauthorized.
  • Проверить оба способа передачи (Header и Query), если API их поддерживает.

Bearer Token

Популярный метод. Сначала вы получаете временный токен (обычно в ответ на логин и пароль), а затем передаете его в заголовке.

Настройка в Postman

Тип Bearer Token. Вставьте полученный токен в поле Token. Часто токен получают в одном запросе (логин), сохраняют в переменную, а затем используют в других.

Как тестировать?

  • Валидный токен: запрос проходит (200 OK).
  • Невалидный/просроченный токен: ошибка 401 Unauthorized.
  • Запрос без токена: ошибка 401 Unauthorized.

Digest Auth

Более безопасная версия Basic Auth. Пароль не передается в открытом виде, а используется для шифрования данных, присланных сервером.

Настройка в Postman

Тип Digest Auth. Введите Username и Password. Postman автоматически обработает "challenge" от сервера и сформирует правильный ответ.

Как тестировать?

  • Корректные данные: запрос проходит (200 OK).
  • Некорректные данные: ошибка 401 Unauthorized.

OAuth 2.0

Стандарт авторизации, позволяющий приложениям получать ограниченный доступ к аккаунтам пользователей (например, "Войти через Google").

Настройка в Postman

Тип OAuth 2.0. Это сложный процесс, требующий настройки Callback URL, Auth URL, Client ID, Client Secret и других параметров для получения токена.

Как тестировать?

  • Проверить полный цикл получения токена.
  • Запросы с полученным токеном проходят успешно.
  • Проверить механизм обновления (refresh) токена.
  • Запросы с просроченным токеном возвращают ошибку.

Mutual TLS

Двустороннее TLS-шифрование. Не только клиент проверяет сертификат сервера, но и сервер проверяет сертификат клиента. Очень высокий уровень безопасности.

Настройка в Postman

Сертификаты добавляются в настройках Postman: Settings → Certificates → Add Certificate. Нужно указать домен и прикрепить файлы сертификата.

Как тестировать?

  • С корректным клиентским сертификатом запрос проходит.
  • Без сертификата или с неверным сертификатом соединение обрывается на уровне TLS (ошибки в консоли Postman).