Echolot
Запросы

Авторизация

Подписывайте запросы с помощью Basic, Digest, Bearer, API-ключей, OAuth 1.0, OAuth 2.0, AWS Signature, JWT, Hawk, Akamai EdgeGrid или NTLM и делитесь авторизацией через папки.

Вкладка Авторизация определяет, как запрос подтверждает, кто он. Выберите Тип, заполните его поля — и Echolot добавляет учётные данные при каждой отправке. Задайте авторизацию один раз для папки или рабочего пространства, и её смогут использовать все запросы внутри.

Вкладка «Авторизация» запроса Orders with OAuth 2: OAuth 2.0 с грантом «Учётные данные клиента», URL токена, ID клиента и область доступа, внизу панель токена с кнопкой «Получить токен»

Не храните учётные данные в файлах

Любое поле принимает {{variables}}. Пароли, токены и ключи храните в секретных переменных, которые лежат в Связке ключей, а в поле пишите {{password}}. Тогда файл запроса не содержит секретов, и его можно коммитить.

Если ввести в поле учётных данных готовое значение, под ним появится предупреждение: Сохраняется открытым текстом в файле рабочего пространства. Нажмите Переместить в Связку ключей — Echolot сохранит значение как секретную переменную рабочего пространства и вместо него запишет {{name}}.

Учётные данные, которые добавляет Echolot, скрыты там, где их показывает страница запроса: в АВТОМАТИЧЕСКИХ заголовках и в предпросмотре URL под строкой адреса.

Наследование от папок и рабочего пространства

Наследовать — значение по умолчанию. Запрос с наследованием использует авторизацию ближайшей папки выше, которая её задаёт, а затем авторизацию рабочего пространства. Под Использует вкладка показывает, какая из них действует, например Folder “Orders”: Bearer Token, и кнопку, которая её открывает: Изменить авторизацию папки… или Изменить авторизацию рабочего пространства…. Если выше авторизация нигде не задана, запрос отправляется без неё.

Вкладка «Авторизация» запроса со значением «Наследовать»: Использует Папка «Orders»: Bearer-токен, кнопка «Изменить авторизацию папки…»

Запрос с собственной авторизацией сохраняет её, а на его вкладке Авторизация есть ещё строка Авторизация рабочего пространства с авторизацией рабочего пространства и кнопкой, которая её открывает: Авторизация рабочего пространства…, а если в рабочем пространстве её ещё нет — Настроить авторизацию рабочего пространства…. Авторизация рабочего пространства… есть и в палитре команд (⌘K).

Чтобы задать авторизацию сразу для многих запросов:

  1. В боковой панели щёлкните папку правой кнопкой и выберите Настройки папки…. Для рабочего пространства выберите Авторизация рабочего пространства… на вкладке Авторизация запроса или в палитре команд, либо нажмите переключатель рабочих пространств внизу боковой панели и выберите Настройки рабочего пространства….
  2. Откройте вкладку Авторизация и выберите тип. Папка тоже может наследовать, рабочее пространство — нет. Под настройками вкладка показывает, сколько запросов с Наследовать используют эту авторизацию.
  3. Для OAuth 2.0 войдите прямо здесь: панель токена внизу работает так же, как в запросе (см. OAuth 2.0), и токен используют все запросы, которые наследуют эту авторизацию. Получить токен сначала сохраняет авторизацию. Панель показывает токен самой папки или рабочего пространства, только когда их авторизация сохранена, поэтому она никогда не показывает и не забывает токен, принадлежащий авторизации выше.
  4. Нажмите Готово.
Настройки папки на вкладке «Авторизация» с выбранным OAuth 2.0, URL токена и клиент, панель токена с кнопкой «Получить токен» и число запросов, которые её наследуют

В примере Alpenglow папка Orders задаёт Bearer-токен со значением {{token}}, и все запросы заказов его наследуют. Auth › Sign in записывает {{token}} из своего ответа с помощью захвата.

Выбор типа

ТипЧто делает Echolot
НаследоватьИспользует авторизацию папки или рабочего пространства.
Без авторизацииНе отправляет учётные данные, даже если их задаёт папка.
BasicДобавляет Authorization: Basic … из имени пользователя и пароля.
DigestОтвечает на Digest-запрос сервера.
Bearer-токенДобавляет Authorization: Bearer <token>.
API-ключДобавляет ключ как заголовок или параметр запроса.
OAuth 1.0Подписывает каждый запрос по OAuth 1.0 токеном, который у вас уже есть.
OAuth 2.0Получает токен доступа и отправляет его как Bearer-токен или в адресе.
AWS SignatureПодписывает каждый запрос по AWS Signature Version 4.
JWT BearerПодписывает новый JSON Web Token при каждой отправке.
HawkПодписывает каждый запрос по Hawk.
Akamai EdgeGridПодписывает каждый запрос по EG1-HMAC-SHA256.
NTLMОтвечает на NTLM-запрос сервера.

Заголовок Authorization, который вы добавили сами на вкладке Заголовки, отправляется вместо того, что добавила бы вкладка Авторизация.

Basic

Заполните Имя пользователя и Пароль. Echolot отправляет их в заголовке Authorization в кодировке Base64. Попробуйте на Echo › Basic auth в Alpenglow.

Digest

Заполните Имя пользователя и Пароль. Первая отправка уходит без учётных данных; когда сервер отвечает 401 с Digest-запросом, Echolot отвечает на него один раз вторым запросом. Оба показаны в обмене как переходы.

Bearer-токен

Заполните Токен, обычно {{token}}. Префикс по умолчанию — Bearer; измените его для сервера, который ждёт другое слово, или очистите, чтобы отправлять один токен.

API-ключ

Заполните Ключ (имя заголовка или параметра, по умолчанию X-API-Key) и Значение, затем в поле Добавить в выберите, куда его поместить: Заголовок или Запрос.

OAuth 2.0

Echolot получает токен доступа сам и добавляет его как Authorization: Bearer <token>.

ПолеЗначение
ГрантКод авторизации, Учётные данные клиента, Код устройства или Пароль (устаревший).
URL авторизацииГде вы входите (Код авторизации).
URL устройстваОткуда берётся код устройства (Код устройства).
URL токенаОткуда берутся токены.
Имя пользователя, ПарольСобственный вход пользователя (Пароль). Пароль можно переместить в Связку ключей, как любые другие учётные данные.
ID клиента, Секрет клиентаУчётные данные клиента. Публичные клиенты оставляют секрет пустым.
Область доступаЗапрашиваемые области через пробел, например read write.
АудиторияДля серверов, которым она нужна.
URI перенаправленияКод авторизации. Пусто — автоматически: адрес замыкания на себя http://127.0.0.1:<port>/callback на свободном порту.
PKCE (S256)Код авторизации. По умолчанию включено.
Аутентификация клиентаКак ID и секрет клиента попадают на URL токена: HTTP Basic (по умолчанию) или В теле.
Добавить токен вЗаголовок (по умолчанию) или URL: токен как параметр запроса с именем из поля Параметр (по умолчанию access_token). Адреса попадают в журналы и историю, поэтому URL используйте только для API, которые ничего другого не принимают.
Префикс заголовкаСлово перед токеном в заголовке, по умолчанию Bearer.

Внизу вкладки панель токена показывает, есть ли токен. Нажмите Получить токен:

  • Код авторизации открывает браузер на URL авторизации. Войдите там; Echolot перехватывает перенаправление и показывает Завершите вход в браузере…, пока вы не закончите.
  • Код устройства показывает Войти на другом устройстве и код. Нажмите Открыть (рядом имя хоста страницы), введите там код и подтвердите; Echolot ждёт, показывая Ожидание одобрения….
  • Учётные данные клиента обращаются прямо к URL токена. Для этого гранта нажимать Получить токен не нужно: первая отправка получает токен сама.
  • Пароль (устаревший) отправляет имя пользователя и пароль на URL токена и тоже не требует нажатия: первая отправка получает токен. Используйте его только для старых API, которым он нужен. Этот грант устарел, потому что сам пароль покидает ваш Mac, поэтому, если сервер поддерживает Код авторизации, выбирайте его.

Неявного гранта, который тоже устарел, Echolot не предлагает. Большинство серверов, которые его ещё поддерживают, поддерживают и Код авторизации — им становится импортированный неявный грант; проверьте, что сервер его принимает.

Когда токен есть, панель показывает Токен доступа в Связке ключей с его типом, сроком действия, признаком обновляется автоматически и областью доступа. Получить новый токен заменяет его; Забыть удаляет.

Как токены хранятся и используются:

  • Токены хранятся в Связке ключей и никогда не попадают в файлы рабочего пространства.
  • Токен принадлежит запросу, папке или рабочему пространству, которые задают авторизацию, а также окружению и настройкам, для которых он выпущен: при смене окружения или изменении URL токена, ID клиента, области доступа или другой настройки, определяющей, для кого токен, используется или получается отдельный токен, а токен, выпущенный для другого, никогда не отправляется. Запросы, которые наследуют OAuth от папки, делят её токены. Забыть удаляет токены всех окружений.
  • Когда срок токена истёк, следующая отправка обновляет его с помощью токена обновления. Токен Учётных данных клиента или Пароля запрашивается заново. Иначе отправка останавливается с сообщением о том, что запросу нужен токен OAuth и его сначала надо получить на вкладке «Авторизация», либо что срок токена OAuth истёк и обновить его не удалось.

Чтобы попробовать, отправьте Auth › Orders with OAuth 2 в Alpenglow: он использует Учётные данные клиента с демо-API.

Дополнительно

Большинству серверов это не нужно, поэтому раздел свёрнут под Дополнительно. Он раскрывается сам, если в нём что-то задано.

Раздел «Дополнительно» OAuth 2.0: «Обновлять автоматически», URL обновления и таблицы параметров «Запрос авторизации», «Запрос токена» и «Запрос обновления»
  • Обновлять автоматически по умолчанию включено. Выключите, чтобы отправлять просроченный токен как есть и посмотреть, как на него ответит API. Первый токен для Учётных данных клиента и Пароля всё равно запрашивается.
  • URL обновления нужен серверам, у которых конечная точка обновления — не URL токена. Пусто — используется URL токена.
  • Запрос авторизации, Запрос токена и Запрос обновления добавляют параметры для серверов, которым нужно больше стандартных полей: access_type = offline у Google (чтобы он выдал токен обновления), resource для Azure AD, тенант или версию API. В каждой строке есть ключ, значение (переменные работают, так что секреты могут оставаться в Связке ключей) и, для запросов токена и обновления, место назначения: Тело, Заголовок или URL. Параметр с тем же именем, что у стандартного, заменяет его. Параметры запроса авторизации попадают в адрес входа или, для Кода устройства, в запрос авторизации устройства. Они никогда не заменяют state или PKCE-вызов.

OAuth 1.0

Для API, которые всё ещё используют OAuth 1.0: NetSuite, Magento и Adobe Commerce, конечные точки X версии v1.1, связи приложений Jira и Confluence Server и другие. Echolot подписывает каждый запрос токеном, который у вас уже есть. Трёхсторонний сценарий получения токена он не выполняет — как и Postman.

Вкладка «Авторизация» с OAuth 1.0: метод подписи, ключ и секрет потребителя, токен доступа и секрет токена, «Добавить в» — «Заголовок»
  1. Выберите Метод подписи: HMAC-SHA1 (самый распространённый), HMAC-SHA256, HMAC-SHA512, RSA-SHA1, RSA-SHA256, RSA-SHA512 или PLAINTEXT.
  2. Заполните Ключ потребителя, затем Секрет потребителя или, для RSA, Закрытый ключ (вставьте его или нажмите Выбрать PEM-файл…, чтобы сразу положить его в Связку ключей).
  3. Заполните Токен доступа и, кроме RSA, Секрет токена. Оставьте их пустыми для запроса, который делается до получения токена.
  4. В поле Добавить в выберите Заголовок (Authorization: OAuth …, по умолчанию), URL или Тело. Тело подписывает данные формы в теле или, если тела нет, адрес.
  5. В разделе Дополнительно есть Realm, URL обратного вызова и Верификатор (для шагов трёхстороннего сценария, которые вы выполняете вручную), Добавить oauth_version="1.0" (по умолчанию включено) и Хешировать тело в подпись (oauth_body_hash, для тел, которые не являются формами).

Каждый запрос подписывается в момент отправки, с новой отметкой времени и nonce, по методу, адресу, его параметрам запроса и полям формы в теле.

AWS Signature

Заполните ID ключа доступа, Секретный ключ доступа, Регион (по умолчанию us-east-1) и Сервис (по умолчанию execute-api; s3, lambda, es и так далее). Токен сеанса нужен только для временных учётных данных. Каждый запрос подписывается в момент отправки, по времени, хосту и телу, с которыми он уходит.

JWT Bearer

Echolot подписывает новый токен при каждой отправке.

  1. Выберите Алгоритм: HS256, HS384 или HS512 (HMAC с секретом), RS256, RS384, RS512, PS256, PS384 или PS512 (закрытый ключ RSA), либо ES256 или ES384 (закрытый ключ на эллиптической кривой).
  2. Для HMAC заполните Секрет; отметьте Секрет в Base64, если провайдер выдал его в таком виде. Закрытый ключ вставьте в Закрытый ключ или нажмите Выбрать PEM-файл…: ключ сразу попадает в Связку ключей, а поле ссылается на него по имени. Ключи могут быть в PEM-форматах PKCS #8, PKCS #1 или SEC 1.
  3. Запишите Claims в виде JSON. В них можно использовать переменные: {"sub": "{{userID}}"}.
  4. Добавьте Поля заголовка, например kid, если они нужны серверу. alg и typ задаются сами.
  5. Добавить «iat» (время выпуска) по умолчанию включено. Истекает через добавляет exp на указанное число секунд вперёд (по умолчанию 300); 0 не добавляет ничего. Claims, которые вы задали в JSON сами, сохраняются как написаны.
  6. В поле Добавить в выберите Заголовок (с Префиксом, по умолчанию Bearer) или Запрос (с именем Параметра, по умолчанию token).

Hawk

Заполните ID и Ключ, выберите Алгоритм (SHA-256 или SHA-1) и добавьте Данные приложения (ext), если они нужны серверу. Отметьте Хешировать тело в подпись, чтобы включить в неё хеш нагрузки. Каждый запрос подписывается по времени, nonce, методу, пути, хосту и порту.

Akamai EdgeGrid

Заполните Токен клиента, Секрет клиента и Токен доступа. Подписываемые заголовки — список через запятую, обычно пустой. Подписываемые байты тела ограничивает, какая часть тела POST хешируется (по умолчанию 131072).

NTLM

Заполните Имя пользователя и Пароль, а также Домен и Рабочую станцию, если они нужны серверу. Echolot поддерживает NTLMv2: он отвечает на запрос сервера по тому же соединению, а ответы 401 остаются в обмене как переходы.

NTLM аутентифицирует соединение, а не запрос, поэтому ему нужен HTTP/1.1. Если Версия HTTP — Автоматически, Echolot использует HTTP/1.1 для запросов NTLM; если выбран HTTP/2 или HTTP/3, отправка отклоняется. См. Настройки запроса.

Учётные данные остаются со своим источником

Когда перенаправление ведёт на другой источник (другую схему, хост или порт), Echolot не переносит туда ваши учётные данные. Он отбрасывает:

  • заголовки Authorization, Proxy-Authorization и Cookie;
  • распространённые заголовки API-ключей (X-API-Key, Api-Key, Apikey, X-Auth-Token, X-Access-Token, Private-Token, X-Functions-Key), заголовок, который использует ваша авторизация API-ключ, и любой заголовок, значение которого содержит секретную переменную;
  • подпись Digest, AWS Signature, OAuth 1.0, Hawk, EdgeGrid и NTLM, а также клиентский сертификат, выбранный для первого хоста.

Сертификаты и прокси нового хоста применяются к переходу на него. См. Настройки запроса.

Защищённые окружения

Получить токен тоже отправляет запрос. Если окружение окна защищено, сначала он спрашивает подтверждение, как и Отправить. См. Защищённые окружения.

На этой странице