Перейти до вмісту

Автентифікація

У Restorm немає розкривного меню «тип автентифікації». Є щось загальніше — запит автентифікації, повноцінний запит, роль якого полягає у виробленні заголовків для інших.

Перевага: змоделювати можна будь-яку схему, зокрема й ті, яких не передбачає жоден розкривний список — обмін у два кроки, підписаний токен, власноруч зроблений API. Недолік: доведеться описати це один раз.

Створення маршруту автентифікації

Section titled “Створення маршруту автентифікації”

Клацніть правою кнопкою на теці середовищДодати ▸ Запит автентифікації HTTP.

Спочатку налаштуйте виклик, як будь-який запит HTTP: метод, URL, заголовки, тіло. Потім відкрийте його вкладку Конфігурація, де зібрано три налаштування, властиві автентифікації.

Вкладка «Конфігурація» запиту автентифікації з трьома розділами: вироблені заголовки, термін дії в секундах і коди помилок автентифікації

Перелік заголовків, які цей маршрут додаватиме до кожного запиту, що на нього посилається. Кожне значення — це вираз, обчислений на тілі відповіді запиту автентифікації.

ЗаголовокЗначення
Authorization{{token_type}} {{access_token}}

Вираз, який теж обчислюється на тілі відповіді й дає тривалість чинності в секундах — зазвичай {{expires_in}}. Якщо його не заповнити, токен ніколи не спливає самостійно.

Коди помилок автентифікації

Section titled “Коди помилок автентифікації”

Статуси HTTP, які, отримані запитом, що використовує цей маршрут, спричиняють поновлення токена й автоматичну повторну спробу. Типово: 401 і 403.

Запит автентифікації — це елемент, який ви створюєте в дереві. Маршрут автентифікації — той самий елемент, побачений з іншого запиту, у перемикачі, що його приєднує. Обидва терміни позначають одну сутність у двох місцях інтерфейсу.

Приєднання маршруту до запиту

Section titled “Приєднання маршруту до запиту”

На вкладці запиту, у smartbar, перемикач Маршрут автентифікації перелічує маршрути теки середовищ. Типовий підпис — Без автентифікації.

Після приєднання вироблені заголовки додаються під час кожного надсилання, токен кешується до спливання терміну дії, а 401 спричиняє прозоре поновлення.

Запит: POST https://auth.exemple.test/oauth/token, тіло x-www-form-urlencoded з grant_type=client_credentials, client_id={{clientId}}, client_secret={{clientSecret}} (де секрет є значенням типу «Секрет»).

Вироблений заголовок: Authorization = {{token_type}} {{access_token}}. Термін дії: {{expires_in}}.

Жодного запиту не потрібно, якщо облікові дані у вас уже є: просто задайте заголовок на запиті (або на теці):

Authorization = Basic {{base64Encode (append (append user ":") password)}}

Достатньо заголовка або параметра запиту: X-API-Key = {{apiKey}}, де ключ є змінною типу «Секрет».

Токен, отриманий у два виклики

Section titled “Токен, отриманий у два виклики”

Створіть сценарій: перший виклик, вилучення проміжного коду, другий виклик, а потім Задати змінну, щоб покласти токен до змінних запуску. Наступні запити сценарію читають його як {{jeton}}.

Під час імпорту специфікації оголошені схеми безпеки перетворюються на заздалегідь під’єднані заголовки або параметри, для яких за вас створюється змінна середовища:

Схема у специфікаціїЩо задає Restorm
apiKey (заголовок або запит)Пару, названу за схемою, зі значенням {{<schema>}}
http / basicAuthorization: Basic {{<schema>_credentials}}
http / bearer, oauth2, openIdConnectAuthorization: Bearer {{<schema>_token}}

Вам залишається лише заповнити змінну або замінити її маршрутом автентифікації, якщо вам потрібне автоматичне поновлення.

Нативні облікові дані за протоколами

Section titled “Нативні облікові дані за протоколами”

Деякі протоколи не використовують заголовки HTTP. Їхні облікові дані — це поля самого запиту:

ПротоколПоля
MQTTusername, password, ідентифікатор клієнта
AMQPusername, password, vhost
Redispassword
KafkaМеханізм SASL (plain, scram-sha-256, scram-sha-512), ідентифікатор, пароль, TLS
STOMPЗаголовки login і passcode у CONNECT
gRPCМетадані виклику

Кожен із цих паролів приймає значення типу «Секрет».