Практический разбор
способов авторизации в Postman 
Дудник Н.В.
cURL для импорта

Google Docs

сURL для импорта

Способы авторизации API Key NASA API (VPN) - Query Parameter https://api.nasa.gov/ curl --location 'https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?earth_date=2015-6-3&api_key=DEMO_KEY' DaData API Key - Header https://dadata.ru/profile/#info https://dadata.ru/api/clean/address/...

План вебинара
  1. О себе
  1. Понятие авторизации и аутентификации
  1. Информация про токен
  1. Определения client_id, client_secret, callback_url, access token, refresh token
  1. Часто используемые токены при выполнении тестовых заданий
  1. Способы авторизации на практике
  1. Теория и Практика на API Key
  1. Теория и Практика на Basic Auth
  1. Теория и Практика на Bearer Token
  1. Теория и Практика на JWT Bearer
  1. Теория и Практика на OAuth 2.0 - Google API
  1. Информация про курсы: программа и тарифы, бонусы
  1. Теория и Практика на mTLS
  1. Практика на OAuth 2.0 - VK API
  1. Авторизация через Cookie
  1. Дополнительная литература
  1. Ваши вопросы
О себе
Высшее образование - ОмГУ Ф.М. Достоевского, Физический факультет
6 лет была преподавателем по физике - с 2009-2015гг.
10 лет в тестировании - старт июнь, 2015г.
Проекты: Luxoft (Boeing, DHL, Drawback); Wiley (Wiley Online Library)
Сейчас Главный инженер по тестированию в Сбере (платформа ЕФС)
Веду блог по тестированию Protestinginfo, нравится собирать информацию по тестированию и делиться знаниями с людьми
Понятия авторизации и аутентификации
Кратко: Процесс получения доступа к системе: Идентификация -> Аутентификация -> Авторизация
Аутентификация нужна, чтобы проверить право доступа к данным (проверка пользователя на его подлинность).
Авторизация - когда, есть доступ к системе, то есть процесс аутентификации успешно пройден.
Аутентификация (Authentication) - это процесс проверки личности пользователя. Система отвечает на вопрос: "Кто вы?". Примеры: ввод логина и пароля, использование биометрии.
Авторизация (Authorization) - это процесс предоставления прав доступа к определенным ресурсам. Система отвечает на вопрос: "Что вам разрешено делать?". Например, после успешной аутентификации система определяет, может ли пользователь читать или редактировать данные.
Информация про токен: общее определение
Токен - закодированная строка символов с некоторой структурой, содержащая полезные данные пользователя. Эта строчка передается клиентом приложению при каждом запросе, когда есть необходимость идентифицировать и понять кто прислал этот запрос.
Основные определения, которые пригодятся на вебинаре
1. Client ID
Публичный идентификатор приложения. Это как "логин" вашего приложения, который сообщает серверу, кто именно запрашивает доступ. Не является секретом.
2. Client Secret
Секретный ключ приложения. Это как "пароль" вашего приложения, который доказывает серверу, что это действительно вы, а не мошенник. Нужно хранить в секрете.
3. Callback URL (Redirect URI)
URL для перенаправления. Это заранее зарегистрированный адрес, на который сервер вернет пользователя после того, как тот войдет в свой аккаунт и даст (или не даст) разрешение вашему приложению. Это мера безопасности.
4. Access Token (Токен доступа)
Краткоживущий ключ-пропуск. Он выдается приложению после успешной авторизации пользователя. Этот токен нужно прикладывать к каждому запросу к API, чтобы получить доступ к защищенным данным. Срок его действия обычно короткий (минуты или часы).
5. Refresh Token (Токен обновления)
Долгоживущий ключ для получения нового Access Token. Когда Access Token истекает, приложение использует Refresh Token, чтобы автоматически получить новый Access Token, не заставляя пользователя заново вводить логин и пароль.
Часто используемые токены при выполнении тестовых заданий
  • Ключ API (API Key): добавляется пара ключ-значение в заголовок или в параметры HTTP-запроса через вкладку Authorization. Данный ключ разработчика API получаем на стороне тестируемого сервера.
  • Токен на предъявителя (Bearer Token) – это веб-маркер JSON (JWT, JSON Web Token), который представляет собой текстовую строку, включенную в заголовок запроса, также получаем на стороне тестируемого сервера.
  • Базовая аутентификация (Basic Auth) – отправка подтвержденного имени пользователя и пароля вместе с HTTP-запросом.
Способы авторизации, которые рассмотрим на практике
  • OAuth 2.0 - OAuth 2.0 (Open Authorization 2.0)
  • JWT Bearer - JSON Web Token (JWT)
  • Bearer Token
  • API Key
  • Basic Auth - Базовая аутентификация (basic access authentication)
  • mTLS - mutual Transport Layer Security
  • Cookie
Теория про API Key
Ключ программного интерфейса приложения (API) — это уникальный код, используемый API для идентификации приложения или пользователя.
API-ключи – это уникальные идентификаторы, позволяющие приложению получать доступ к API. Обычно они передаются в заголовке (header) или в параметрах запроса (query params).
Ключ API (API key) – в заголовок или в параметры HTTP-запроса добавляется пара ключ-значение. Чтобы использовать это для тестирования, предварительно нужно получить ключ разработчика API на стороне тестируемого сервера (источник).
Практика на API Key через Parameter
Используемый сервис
https://api.nasa.gov/ (VPN в РФ)
API-ключи – это ключи шифрования для аутентификации пользователя в системе, по аналогии логина и пароля. Существует два вида ключей API (источник):
1. Публичный ключ (открытый) . Используется для шифрования данных при обращении приложения к серверу.
2. Секретный ключ (закрытый) . Известен только пользователю и владельцу сайта. Используется для расшифровки данных, отправленных приложением.
Практика на API Key для GoRest.co.in
Используемый сервис
Существуют разные способы отправки токена доступа:
  • HTTP Basic Auth: токен доступа (access token) отправляется как имя пользователя.
  • Query parameter: токен доступа отправляется как параметр запроса в URL-адресе API.
  • Этот API поддерживает только «HTTP Bearer Tokens» и «аутентификацию по параметру запроса (Query parameter Auth)».
  • OAuth 2: токен доступа получается потребителем с сервера авторизации и отправляется на сервер API через HTTP Bearer Tokens в соответствии с протоколом OAuth2. процесс получения токена упрощен: не нужно проходить сложную процедуру с client_id, client_secret, auth_url и т.д. Вы просто получаете готовый токен в своем личном кабинете.
Практика на API Key через Header
Используемый сервис
Теория про Basic Auth
Это самый простой способ. Используются логин и пароль, которые кодируются в формат Base64 и отправляются в заголовке запроса.
Как указано в документации (например, для сервиса "МойСклад"), для аутентификации по протоколу Basic Auth нужно просто ввести логин и пароль. В Postman вы выбираете тип Basic Auth и вводите учетные данные. После этого вы получаете токен и можете дальше работать с API.
Важно: Этот метод используется для нечувствительных данных или в защищенной сети (с использованием SSL/TLS).
Базовая аутентификация (Basic auth) — отправка подтвержденного имени пользователя и пароля вместе с HTTP-запросом. Эти учетные данные добавляются в заголовок HTTP-запроса Authorization в кодировке Base 64. Это не самый безопасный способ, т.к. перехваченные данные легко раскодировать (источник).
Обычно для базовой аутентификации существует префикс - Basic
Практика Basic Auth МойСклад JSON API 1.2
Доступ к API МойСклад через Postman
Процесс аутентификации в два этапа: получение токена и его использование для запросов.
ШАГ 1: ПОЛУЧЕНИЕ ТОКЕНА ДОСТУПА
Этот шаг выполняется один раз, чтобы обменять ваши постоянные логин и пароль на временный ключ.
  • Метод: POST
  • Авторизация: Тип Basic Auth
  • Username: ваш e-mail (логин) от МойСклад
  • Password: ваш пароль от МойСклад
➡️ Результат: В ответе вы получите JSON с ключом. Скопируйте значение .
{
  "access_token": "d9275a557879b32b8f3a3d2e61c7423b11e2f9ac"
}
ШАГ 2: ВЫПОЛНЕНИЕ ЗАПРОСОВ К API С ПОМОЩЬЮ ТОКЕНА
Теперь используйте полученный токен для доступа к любым данным
  • Метод: GET (или любой другой, в зависимости от задачи)
  • Авторизация: Тип Bearer Token
  • Token: Вставьте сюда access_token, скопированный на Шаге 1.
➡️ Результат: Вы получите запрашиваемые данные (например, список контрагентов) в формате JSON.
Логин + Пароль ➔ [Basic Auth] ➔ Токен ➔ [Bearer Token] ➔ Любой запрос к API
Декодирование из формата Base64
Можно декодировать значение токена 
curl --location --request POST 'https://api.moysklad.ru/api/remap/1.2/security/token' \
--header 'Authorization: Basic GTRtaW5Abm9fY29udGVudF90dzppPTVfTSFxWmgyUTVWTYM=' \
--header 'Accept-Encoding: gzip'
Теория про Bearer Token
Это тип авторизационного токена, который предъявляется для доступа к защищенным ресурсам. Он представляет собой строку, которую пользователь должен передавать в заголовке Authorization.
Формат заголовка: Authorization: Bearer <значение_токена>
JWT часто используется в качестве Bearer-токена.
Bearer-токен — это уникальный ключ, который используется для аутентификации и авторизации доступа к ресурсам.
Практика на Bearer Token
Используемые сервисы
GoREST API
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{token}}'
МойСклад JSON API 1.2
--header 'Authorization: Bearer {{access_token}}' \
--header 'Cache-Control: no-cache'
Теория про JWT
JWT — это стандарт, который часто используется в рамках OAuth 2.0. Это токен, представляющий собой строку, состоящую из трех частей, разделенных точками:
  • Header (Заголовок)
  • Payload (Полезная нагрузка)
  • Signature (Подпись)
На собеседовании часто спрашивают именно про JWT, ожидая услышать, что вы знаете его структуру.
Структура и расшифровка JWT:
Header: Содержит метаинформацию о токене, например, тип токена (typ: "JWT") и алгоритм подписи (alg: "HS256").
Payload: Содержит "утверждения" (claims) - информацию о пользователе (например, username) и другие данные.
Signature: Используется для проверки того, что токен не был изменен. Она создается с помощью заголовка, полезной нагрузки и секретного ключа.
Виды токенов в контексте JWT:
  • Access Token: Проверяется при каждом обращении к защищенному API.
  • Refresh Token: Используется для получения нового Access Token, когда старый истекает.
JWT-носитель (JWT bearer), что предполагает генерацию носителя JWT прямо в Postman с использованием криптографических алгоритмов с SHA (HMAC, RSASSA-PKCS1-v1_5, ECDSA, RSASSA-PSS), секрета, закрытого ключа и полезной нагрузки для генерируемого JWT-токена в формате JSON (источник)
Практика про JWT Bearer
https://postman-echo.com/post
Авторизация JWT-Auth
JWT-Auth: основной метод авторизации, используемый для большинства запросов. Для успешной аутентификации требуется заголовок Authorization: Bearer <jwt-token>.
JWT-токены можно расшифровать на специальных сайтах (например, jwt.io). Если вставить токен, можно увидеть его содержимое.
Например, при авторизации на демо-сайте можно перехватить запрос в инструментах разработчика (вкладка Network), скопировать токен из ответа сервера, вставить его на сайт для декодирования и увидеть информацию, которая в нем зашита (например, username: "demo").
Теория про OAuth 2.0
OAuth 2.0 - это протокол авторизации, который позволяет безопасно делегировать доступ к пользовательским данным между приложениями. Этот протокол широко используется в таких сервисах, как, например, Google,
OAuth 2.0 (что расшифровывается как « Открытая авторизация ») - это стандарт, разработанный для того, чтобы позволить веб-сайту или приложению получать доступ к ресурсам, размещенным другими веб-приложениями от имени пользователя.
В Postman тип авторизации OAuth 2.0 предназначен для полного цикла получения токена, который используется такими сервисами, как Google, GitHub, Slack и др. Этот процесс включает в себя множество полей:
  • Auth URL: Адрес, куда перенаправляется пользователь для входа.
  • Access Token URL: Адрес, куда Postman отправляет код авторизации для обмена на токен.
  • Client ID / Client Secret: Уникальные идентификаторы вашего приложения.
  • Scope: Список разрешений, которые вы запрашиваете.
  • Callback URL: Адрес, куда сервер вернет пользователя после авторизации.
OAuth 2.0 – это протокол авторизации, позволяющий приложениям получать ограниченный доступ к учетным записям пользователей. В рамках данного протокола можно выделить следующие роли:
  • Владелец (пользователь): предоставляет приложению доступ к данным своей учетной записи;
  • Сервер ресурсов: здесь находятся данные аккаунтов пользователей, а также бизнес-логика авторизации, которая отвечает за выдачу OAuth-токенов и проверку их подлинности;
  • Клиентское приложение: сторонний сервис, нуждающийся в правах доступа к данным пользователя, которые в свою очередь находятся на сервере ресурсов. Пользователь должен авторизовать приложение. В процессе авторизации, приложение со стороны сервера ресурсов должно получить подтверждение об успешной авторизации в виде ключа (токена) доступа.
Как правило, авторизация oAuth подразумевает выполнение следующих шагов:
  1. Приложение запрашивает у пользователя разрешение на доступ к серверу ресурсов.
  1. После получения разрешения приложение сообщает об этом авторизационному серверу, а также предоставляет ему сведения о себе.
  1. Сервер авторизации проверяет подлинность разрешения и предоставленных сведений о приложении. В случае успешной проверки генерируется токен доступа.
  1. Далее приложение обращается к серверу ресурсов, предоставляя токен в качестве подтверждения пройденной авторизации.
  1. Сервер ресурсов проверяет действительность токена и выдает приложению доступ к запрашиваемому ресурсу. (источник)
Практика на OAuth 2.0
OAuth 2.0 Grant Types (Типы предоставления прав): 
  • Authorization Code: Самый безопасный и распространенный сценарий для веб-приложений. Пользователь перенаправляется на сервер авторизации, логинится, дает согласие, после чего приложение получает "код авторизации", который обменивает на токен доступа.
  • Client Credentials: Используется для межсерверного взаимодействия (M2M), когда нет прямого участия пользователя. Приложение аутентифицируется с помощью своих учетных данных (client ID и client secret).
  • Implicit (неявный): Упрощенный, но менее безопасный сценарий для одностраничных приложений (SPA), где токен доступа возвращается напрямую в браузер. Сейчас считается устаревшим и не рекомендуется.
  • Authorization Code with PKCE (Proof Key for Code Exchange) - это расширение протокола OAuth 2.0, предназначенное для повышения безопасности потока авторизации с использованием кода авторизации (Authorization Code Flow), особенно в приложениях, которые не могут безопасно хранить client secrets, таких как мобильные и одностраничные приложения (SPA).
  • Resource Owner Password Credentials: Позволяет пользователю передать свой логин и пароль напрямую приложению, которое обменивает их на токен. Используется только для доверенных приложений.
Настройка OAuth 2.0 для Google в Postman
  • Postman создал специальный веб-сервис oauth.pstmn.io.
  1. Вы указываете этот адрес в настройках Google Cloud.
  1. После успешной авторизации Google перенаправляет ваш браузер на https://oauth.pstmn.io/v1/callback и передает ему код.
  1. Этот сервис перехватывает код и безопасно передает его локальному приложению Postman, которое "слушает" этот ответ.
Проще говоря, это мост между публичным облачным сервисом (Google) и вашим локальным инструментом (Postman). Это официальная функциональность Postman.
Упоминание этого URL в их документации по авторизации OAuth 2.0:
  • Основная страница метода documents.get:
указано описание метода, необходимые права доступа (scopes) и структуру ответа.

Это самый полезный инструмент для тестирования. Вы можете ввести documentId прямо на странице, авторизоваться и сразу увидеть результат запроса без использования Postman.
Ссылка на документации
Основной URL для вызова API
https://docs.googleapis.com/v1/documents/{DOCUMENT_ID}?
  • {documentId} - это обязательный параметр. Его нужно заменить на ID вашего Google Документа.
Настройка OAuth 2.0 для Google в Postman
Настройка в Google Cloud для Google Docs API
Создание проекта, нажать New Project
Перейти в APIs & Services и выбрать Google Docs API, выбрать и включить
Выбрать Oauth content screen и перейти на вкладку Clients, нажать +Create Clients
Идентификатор клиента (Client ID):
Тип приложения: "Веб-приложение" (Web application).
В "Разрешенные URI перенаправления" добавляем URL Postman: https://oauth.pstmn.io/v1/callback
Получить Client ID и Client Secret для авторизации в Postman.
Ключевые шаги в мастере настройки:
Тип учетных данных:
Выбираем доступ к "Данным пользователя" (User data).
Экран согласия OAuth:
Заполняем название приложения и контакты.
Важно: На вкладке "Тестовые пользователи" добавляем свой Google email. Без этого авторизация не пройдет.
Результат:
Копируем и сохраняем сгенерированные Client ID и Client Secret. Они понадобятся на следующем шаге.
Опубликовать приложение, нажав Publish app
HTTP Метод: GET
Аутентификация: Требуется OAuth 2.0. Вам понадобится access_token.
Необходимые права (Scopes): Чтобы вызов сработал, ваш токен должен быть получен с одним из этих разрешений:
https://www.googleapis.com/auth/documents.readonly (только для чтения)
https://www.googleapis.com/auth/documents (полный доступ)
Результат: В случае успеха (код 200 OK), вы получите большой JSON-объект, описывающий всю структуру и содержимое документа: текст, заголовки, таблицы, изображения и т.д.
Настройка OAuth 2.0 для Google в Postman
 Настройка Postman — Авторизация OAuth 2.0
Использовать полученные ключи для получения Access Token и выполнения первого запроса.
Данные для настройки OAuth 2.0 в Postman для Google Docs API
Эти параметры нужно ввести во вкладке Authorization -> Type: OAuth 2.0 в Postman.
Auth URL (Ссылка для авторизации)
https://accounts.google.com/o/oauth2/v2/auth
  • Это страница, на которую Postman перенаправит вас для входа в Google-аккаунт и выдачи разрешений.
Access Token URL (Ссылка для получения токена)
https://oauth2.googleapis.com/token
  • Эту ссылку Postman использует, чтобы обменять полученный код авторизации на сам токен.
Client ID и Client Secret
  • Эти данные вы должны скопировать из вашего проекта в Google Cloud Console. Они уникальны для вашего приложения.
Scope (Права доступа)
https://www.googleapis.com/auth/documents.readonly
(Если в будущем вам понадобится редактировать документы, используйте https://www.googleapis.com/auth/documents)
  • Здесь нужно указать, к чему именно ваше приложение запрашивает доступ. Для метода documents.get вам нужен как минимум доступ на чтение.
  • Вставьте эту ссылку:
Callback URL (URL для перенаправления)
  • Важно: Убедитесь, что URL, который использует Postman, добавлен в список "Разрешенные URI перенаправления" в настройках вашего Client ID в Google Cloud Console.
Конфигурация нового токена
Вкладка Authorization, тип OAuth 2.0.
Grant Type: Authorization Code
Callback URL: https://oauth.pstmn.io/v1/callback (поставить галочку )
Auth URL: https://accounts.google.com/o/oauth2/v2/auth
Access Token URL: https://oauth2.googleapis.com/token
Client ID / Client Secret: Вставьте значения, скопированные из Google Cloud.
Scope (ВАЖНО!): https://www.googleapis.com/auth/documents
Это право на чтение и редактирование документов.
Client Authentication: Send as Basic Auth header
2. Получение токена
  • Нажмите Get New Access Token.
  • В браузере войдите под тем же Google-аккаунтом, что указывали в "тестовых пользователях".
  • Проигнорируйте предупреждение о непроверенном приложении ("Дополнительные настройки" -> "Перейти...").
  • Разрешите доступ.
  • Вернитесь в Postman и нажмите Use Token.
3. Проверка работы
Метод: GET

Google Docs

сURL для импорта

Способы авторизации API Key NASA API (VPN) - Query Parameter https://api.nasa.gov/ curl --location 'https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?earth_date=2015-6-3&api_key=DEMO_KEY' DaData API Key - Header https://dadata.ru/profile/#info https://dadata.ru/api/clean/address/...

Нажмите Send. В ответ должны прийти данные вашего документа
Информация про новые потоки с 18 августа: бонус для всех
Получите 15% скидку на ОБА КУРСА с 17 по 19 августа!
Онлайн курс по подготовке на собеседования и тесты по тестированию ПО
Используйте код PROMO10 для 10% скидки.
Продажи с 18 августа по 31 августа.
Перейти к курсу
Онлайн курс по тестированию бэкенда
Используйте код APISQL10 для 10% скидки.
Продажи с 18 августа по 25 августа.
Перейти к курсу
Онлайн курс по подготовке на собеседования и тесты по тестированию ПО
Программа курса: От основ QA до уверенного прохождения собеседований
  1. Фундамент тестирования
  • Изучим основы, классификацию и виды тестирования.
  • Освоим техники тест-дизайна на практических примерах.
  • Научимся создавать профессиональную тестовую документацию (тест-кейсы, баг-репорты).
  1. Техническая база: API и SQL
  • Глубоко погрузимся в тестирование API: клиент-серверная архитектура, REST, SOAP, HTTP-протоколы.
  • Научимся писать SQL-запросы для поиска и проверки данных в базах.
  • Главное: Выполним комплексные практические задания, где нужно связать тесты API (в Postman) с проверками в базе данных (SQL).
  1. Инструменты и продвинутые темы
  • Станем уверенными пользователями Postman, включая написание скриптов.
  • Освоим DevTools для веб-тестирования и Git для контроля версий.
  • Разберем продвинутые темы: GraphQL, gRPC, Webhook и работу с брокером сообщений Kafka.
  1. Карьера и подготовка к собеседованиям
  • Целый блок вебинаров посвящен разбору реальных вопросов с собеседований по всем темам курса.
  • Поможем составить сильное резюме и подготовиться к техническим интервью.
Курс построен на решении практических задач, встречающихся на тестовых заданиях и собеседованиях, в зависимости от выбранного тарифа.
Онлайн курс по тестированию бэкенда
Все обучение сопровождается живыми вебинарами РАЗ В МЕСЯЦ и практическими заданиями.
Программа курса
Подготовка и инструменты
Настроим рабочее окружение и освоим Postman для профессиональной работы. Вы получите все необходимые навыки для начала эффективного тестирования.
Основной блок: Тестирование API и баз данных
Практикуемся на реальных API, таких как User Account API и Forum API. Научимся проверять результаты напрямую в базах данных SQL, анализировать логи в ClickHouse и работать с кэшем в Redis. Освоим ведение тестов в TMS DoQA и грамотное оформление дефектов. Изучим методы негативного тестирования для поиска скрытых багов.
Бонусные модули: Автоматизация и продвинутые технологии
Напишем первые автотесты в Postman для ускорения рутинных проверок. Познакомимся с тестированием асинхронных систем и очередей сообщений, включая работу с Kafka, для глубокого понимания современных бэкенд-систем.
Поддержка и итоговая работа
Регулярные живые вебинары с преподавателем и выполнение контрольных заданий для закрепления навыков. Мы обеспечим полную поддержку на протяжении всего курса, чтобы вы могли уверенно развиваться.
Создание и настройка приложения в VK
Часть 1: Подготовка — Создание и настройка приложения VK"Прежде чем мы откроем Postman, нам нужно получить учетные данные. Любое взаимодействие с API начинается с регистрации вашего приложения.
Шаг 1: Создание приложения
  1. Переходим в раздел для разработчиков: vk.com/apps?act=manage.
  1. Нажимаем кнопку "Создать приложение".
  1. Даем ему понятное название. Это название увидят пользователи, когда будут давать разрешение на доступ. Например, "Мой тестовый бот для вебинара".
  1.  Создать предварительно тестовое сообщество
Подготовка: Создадим и настроим приложение в личном кабинете VK. Это наш "паспорт" для входа в мир VK API.
Авторизация: Пройдем весь путь OAuth 2.0 (Authorization Code Flow) прямо в интерфейсе Postman.
Результат: Получим заветный access_token и сразу же проверим его в деле, отправив тестовый запрос к API ВКонтакте."
Откройте основной раздел управления приложениями. Вот прямая ссылка:
Интерфейс на этой странице будет выглядеть иначе, чем на вашем скриншоте.
Шаг 2. Создайте новое приложение
  1. Нажмите кнопку «Создать приложение».
  1. ВКонтакте предложит выбрать тип. Выберите «Standalone-приложение». Это самый простой и прямой тип для наших задач (для работы с Postman, скриптами и т.д.).
  1. Введите любое Название (например, "Мой Postman-клиент") и нажмите «Подключить приложение».
  1. Вам придет СМС или push-уведомление для подтверждения. Подтвердите.
Шаг 3. Получите ID приложения
  1. После создания вы попадете на страницу настроек нового приложения.
  1. В разделе «Настройки» вы увидите ID приложения. Скопируйте его. Это НОВЫЙ ID, который мы будем использовать.
Получение учетных данных
когда приложение создано, нужно забрать из него три ключевых элемента.
  1. Переходим в раздел "Настройки" нашего нового приложения.
  1. Необходимые данные:
  • ID приложения — публичный идентификатор.
  • Защищённый ключ — секрет, который никому нельзя показывать.
  1. И последний элемент, который нам нужен — ID сообщества, для которого мы хотим получить токен. Его можно найти в настройках самого сообщества или просто в его URL.
Для Postman: client_id, client_secret и group_id
Настройка OAuth 2.0 для VK в Postman
Откроем Postman и настроим его для взаимодействия с VK API.
Шаг 1: Настройка запроса и авторизации
  1. Создайте новый запрос (кликните на «+»).
  1. Перейдите во вкладку Authorization.
  1. В выпадающем списке «Type» выберите OAuth 2.0.
Шаг 2: Заполнение формы "Configure New Token"
Справа появится большая форма. Заполните её по порядку, используя полученные ранее данные и документацию VK:
  • Token Name: Присвойте имя токену, например, "VK Community Token".
  • Grant Type: Выберите Authorization Code. Этот тип авторизации соответствует описанному в документации.
  • Client ID: Вставьте ID вашего приложения, который вы сохранили.
  • Client Secret: Вставьте защищенный ключ.
  • Scope: Здесь укажите необходимые права доступа. Например, manage,messages — для управления сообществом и доступа к сообщениям.
  • Client Authentication: Выберите Send client credentials in body.
Важно: Postman не имеет стандартного поля для `group_ids`. Необходимо добавить этот параметр вручную к `Auth URL`.
Добавьте в конец поля Auth URL следующие параметры: ?group_ids=ВАШ_ID_СООБЩЕСТВА&v=5.131
В итоге, полное поле Auth URL будет выглядеть примерно так (используйте свой ID сообщества):
https://oauth.vk.com/authorize?group_ids=12345&v=5.131
Настройка OAuth 2.0 для VK в Postman
  1. Всё готово. Проверяем поля и смело жмем кнопку Get New Access Token.
  1. Postman открывает окно браузера. Здесь должен быть вход под своим аккаунтом, который является администратором нужного сообщества.
  1. VK спрашивает: "Приложение N запрашивает доступ...". Нажимаем "Разрешить".
  1. Окно закрывается, и мы видим результат в Postman.
VK вернул нам JSON. Postman может написать "Authentication complete", но не найти токен сам. Это нормально! Нас интересует массив groups. Находим в нем наш group_id и копируем значение из поля access_token. Вот он, наш ключ!
Настройка OAuth 2.0 для VK в Postman
Общая инструкция с блоком ошибок)
Этот слайд сначала показывает правильный путь, а потом — как решать проблемы.
Заголовок: Получение токена VK API через Postman (OAuth 2.0)
Правильный процесс:
  1. Настройте авторизацию: Заполните все поля во вкладке Authorization -> OAuth 2.0.
  1. Получите токен: Нажмите оранжевую кнопку Get New Access Token внизу окна настроек.
  1. Подтвердите в браузере: В открывшемся окне войдите в VK под аккаунтом-владельцем и нажмите "Разрешить".
  1. Найдите ключ: Ваш access_token будет в ответе, в массиве groups, у нужной группы.
Что делать при ошибке 
  • Проверьте статус: Приложение должно быть "Включено" в настройках VK.
  • Проверьте аккаунт: В браузере должен быть активен аккаунт владельца приложения.
  • Проверьте ID и ключ: Убедитесь, что Client ID и Secret скопированы без лишних пробелов.
Настройка OAuth 2.0 для VK в Postman
Проверка — Используем полученный токен 
Сохраняем токен 
Чтобы не копировать токен каждый раз, сохраним его в переменные окружения Postman.
  1. Создаем новое окружение (Environment), назовем его VK API.
  1. Создаем переменную vk_community_token и вставляем туда скопированный ключ.
  1. Сохраняем и выбираем это окружение как активное.
Настройка OAuth 2.0 для VK в Postman
Теперь сделаем простой запрос, чтобы получить информацию о нашем сообществе.
  1. В нашем запросе выбираем метод GET.
  1. URL запроса: https://api.vk.com/method/groups.getById
Нажимаем Send
На экране появляется успешный JSON-ответ с информацией о сообществе
Мы видим информацию о нашем сообществе. Это значит, что наш токен валиден и всё настроено правильно.
  1. Создавать и настраивать приложение в VK для работы с API.
  1. Использовать Postman для автоматизации сложного процесса авторизации OAuth 2.0.
  1. Правильно извлекать access_token из ответа VK.
  1. Использовать полученный токен для реальных запросов.
Авторизация VK ID (с PKCE) в Postman
Процесс авторизации VK ID с PKCE состоит из двух основных ручных шагов: Шаг А – получение временного code, и Шаг Б – обмен этого code на постоянный access_token.
Подготовка: Создание code_verifier и code_challenge
Как указано в документации, для этого процесса требуются два специальных кода: code_verifier и code_challenge.
  1. Перейдите на рекомендованный VK сервис: Online PKCE Generator Tool.
  1. На странице просто нажмите кнопку «Generate».
  1. Вы увидите два поля: Code Verifier и Code Challenge. Скопируйте и сохраните оба значения в блокнот. Они понадобятся вам позже.
Шаг А: Получение временного code
Postman не поддерживает автоматическое получение code из-за требования device_id, поэтому этот шаг выполняется вручную через браузер.
  1. Замените в шаблоне:
  • ВАШ_CLIENT_ID: на ID вашего приложения (например, 54024755) из кабинета id.vk.com.
  • ВАШ_CODE_CHALLENGE: на значение Code Challenge, которое вы сгенерировали на шаге подготовки.
  1. Вставьте готовую ссылку в адресную строку браузера и нажмите Enter.
  1. Войдите в свой аккаунт ВК и дайте разрешение.
  1. После перенаправления на пустую страницу Postman (oauth.pstmn.io/v1/callback...), внимательно посмотрите на адресную строку браузера. Она будет выглядеть примерно так: https://oauth.pstmn.io/v1/callback?payload={"type":"code_v2","state":"12345","code":"КОД_КОТОРЫЙ_НАМ_НУЖЕН","device_id":"ID_УСТРОЙСТВА"}
  1. Скопируйте из этой строки два значения: code (длинная строка из букв и цифр) и device_id (еще одна строка). Теперь у нас есть все для второго шага.
Шаг Б: Обмен code на access_token в Postman
Этот финальный шаг выполняется непосредственно в Postman.
  1. Откройте Postman и создайте НОВЫЙ запрос.
  1. Выберите тип запроса POST.
  1. В поле для URL вставьте адрес из документации: https://id.vk.com/oauth2/auth
  1. Перейдите на вкладку Body и выберите тип x-www-form-urlencoded.
  1. В таблице ниже заполните КЛЮЧ (KEY) и ЗНАЧЕНИЕ (VALUE) в точности по документации (Шаг 5):
Нажмите синюю кнопку «Send».
Результат
В окне ответа (Response) вы увидите JSON, соответствующий документации:
{ "access_token": "XXXXX", "refresh_token": "XXXXX", "id_token": "XXXXX", "expires_in": 0, "user_id": 1234567890, "state": "12345", "scope": "email phone" }
Выполнена авторизация по протоколу VK ID!
Отправка запроса "Получение данных пользователя" через vk id
Теперь вы можете взять access_token из этого ответа и использовать его.
Повторение
Implicit Flow — это один из сценариев авторизации OAuth 2.0.
Ключевая особенность: Он полностью проходит на стороне клиента (в браузере пользователя) и не требует серверной части для обмена кодов на токен.
Как это работает (простыми словами):
  1. Пользователь переходит по специальной ссылке.
  1. ВК просит его авторизоваться и дать разрешение приложению.
  1. После согласия ВК перенаправляет пользователя обратно на ваш сайт, добавляя ключ доступа прямо в адресную строку.
Практика на mTLS - SBER API
mTLS (Mutual Transport Layer Security) — это протокол, основанный на TLS, но с усиленной безопасностью. Он обеспечивает взаимную аутентификацию, где клиент проверяет сервер, а сервер — клиента, используя сертификаты. Полное название в переводе означает «Взаимный TLS».
Принцип работы mTLS заключается в использовании двух пар сертификатов и, соответственно, двух закрытых ключей. Один закрытый ключ находится на сервере для расшифровки данных, зашифрованных открытым ключом клиента (как в обычном TLS). Второй закрытый ключ устанавливается на клиенте, и сервер также шифрует данные его открытым ключом при ответах. Таким образом, только клиенты, обладающие закрытым ключом для расшифровки данных, могут взаимодействовать с сервером. В этом и состоит основной смысл mTLS (источник).
Этот метод часто применяется в сфере финансовых технологий (финтеха). Для работы с mTLS вам выдают специальные файлы сертификатов (например, с расширением .p12, .pfx или keyfile/certfile). В Postman их необходимо настроить в разделе Settings → Certificates, указав путь к файлам и домен, для которого они должны применяться (например, тестовый стенд).
Нажмите здесь
Примером использования mTLS может служить работа со Sber API, где для взаимодействия с API требуется клиентский сертификат в формате .p12.
Используемые сервисы:
https://api.developer.sber.ru/how-to-use/mc_certificates
https://api.developer.sber.ru/how-to-use/api_settings
Войти по SberId
создать пространство
Создать приложение
Подключить подписку в приложении unknown link
получить сертификат .p12 (для отправки запроса) и ключи Client ID и Client Secret (для входа в систему)
Пошаговая инструкция по настройке вызовов API Сбербанка:
Эта инструкция разделена на четыре основных этапа:
  1. Подготовка учетных данных и сертификатов.
  1. Настройка доверия к новым сертификатам Минцифры.
  1. Обновление адреса шлюза API в вашем приложении.
  1. Проверка работоспособности через тестовый запрос.
Необходимые компоненты перед началом:
  • Client ID и Client Secret: Получены от Сбербанка при создании подписки.
  • Контейнер с сертификатом: Файл с расширением .p12, выданный Сбербанком, и пароль от него.
  • Установленные утилиты:
  • openssl (для работы с сертификатами).
  • curl (для выполнения тестовых запросов).
Практика на mTLS
Подготовка ваших сертификатов и ключей
Ваш файл .p12 — это контейнер, в котором "упакованы" ваш приватный ключ и сертификаты. Для работы большинству систем требуются эти компоненты в виде отдельных файлов.
Настройки вызова API
https://api.developer.sber.ru/how-to-use/api_settings
Действия:
  1. Откройте командную строку (терминал) в папке, где лежит ваш .p12 файл.
  1. Выполните следующие команды, заменив <имя_вашего_файла>.p12 на реальное имя вашего файла. Вам будет предложено ввести пароль от контейнера.
1. Извлекаем приватный ключ
winpty openssl pkcs12 -in <имя_вашего_файла>.p12 -nodes -nocerts -out private.key
2. Извлекаем ваш клиентский сертификат
winpty openssl pkcs12 -in <имя_вашего_файла>.p12 -clcerts -nokeys -out client_cert.crt
3. Извлекаем цепочку корневых сертификатов Сбербанка
winpty openssl pkcs12 -in <имя_вашего_файла>.p12 -cacerts -nokeys -chain -out cacerts.cer
Практика на SberAPI в Postman
Скачать установить минцифры
https://api.developer.sber.ru/how-to-use/mc_certificates
Настройка сертификатов в окне «Settings» перейти на вкладку «Certificates»;
Авторизация в систему, используя Client_id и Client_Secret, и получение токена
Отправка тестового бизнес-процесса с токеном
Краткая инструкция по использованию коллекции сервисов SandBox SberPay QR в Postman
https://api.developer.sber.ru/product/PlatiQR/doc/v1/QR_API_doc543
  • Загрузка коллекции - импорт коллекции в Postman:
  1. Перейти в настройки Postman (File --> Import);
  1. В открывшемся окне "Import" нужно нажать на кнопку "Upload Files" и выбрать сохраненный файл коллекции "Mock коллекция SberAPI сертификат Минцифра.postman_collection.json" из директории и нажать на кнопку "Открыть";
  1. Для загрузки коллекции нужно нажать на кнопку "Import", для выхода нажать на кнопку "Cancel";
  • Добавление сертификата - для использования коллекции нужно применить сертификат, полученный на портале для SandBox:
  1. Перейти в настройки Postman (File Settings);
  1. В окне «Settings» перейти на вкладку «Certificates»;
  1. Нажать на кнопку «Add Certificate»;
  1. В открывшемся окне нужно заполнить следующие поля:
  1. Host – mc.api.sberbank.ru:443;
  1. PFX file – добавить сертификат, выпущенный на портале;
  1. Passphrase – ввести пароль от сертификата;
  1. После заполнения полей нужно нажать на кнопку «Add»;
  • Авторизационные данные - для авторизации запросов используется тип "Basic Auth":
  1. Во вкладке Authorization следует выбрать тип: Type = «Basic Auth»;
  1. В поле «Username» вводится client_id;
  1. В поле «Password» - client_secret.
  • Переменные коллекции - используются в базовых сценариях для выполнения запросов без дополнительных манипуляций. При желании переменные можно изменить на валидные значения полей (валидность можно проверить в таблицах параметров запросов и ответов)
Практика на Auth from Cookie
Аутентификация через куки (cookies) отправляется через HTTP - заголовок "Cookie" вместе с HTTP-запросом.
Используемы сервис
Дополнительная литература
  1. Видео - JWT for QA
Ваши вопросы
Спасибо за внимание
Оставьте свой отзыв, отметив меня в нельзяграм, линкедин
Свои вопросы пишите на @nadin_qa
Made with