Аутентифікація
Отримати дані авторизації
Section titled “Отримати дані авторизації”GET /api/authorization/get/
Поля відповіді:
| Поле | Тип | Опис |
|---|---|---|
isWireguardAdminAccess | boolean | Доступ адміністратора надається автоматично для VPN-сервера (відповідно до налаштувань). |
isWireguardPowerUserAccess | boolean | Доступ авторизованого користувача надається автоматично для VPN-сервера (відповідно до налаштувань). |
leftButtonAuthorizedSessionMs | integer / null | Після натискання кнопки пристрою: час у мілісекундах до завершення тимчасового доступу авторизованого користувача, або null, якщо доступ має інший тип. |
leftLoggedInSessionMs | integer / null | Після входу з паролем: час у мілісекундах до завершення доступу авторизованого користувача, або null, якщо доступ має інший тип. |
sinceAuthorizationCodeSetMs | integer / null | Час у мілісекундах з моменту встановлення віддаленого коду авторизації, або null, якщо минуло понад 2 хвилини. |
sinceButtonPressedMs | integer / null | Час у мілісекундах з моменту натискання кнопки пристрою, або null, якщо минуло понад 1 годину. |
Приклад відповіді:
{ "isWireguardAdminAccess": true, "isWireguardPowerUserAccess": false, "leftButtonAuthorizedSessionMs": null, "leftLoggedInSessionMs": null, "sinceAuthorizationCodeSetMs": 109700, "sinceButtonPressedMs": 5100}Встановити тимчасовий код авторизації
Section titled “Встановити тимчасовий код авторизації”Дозволяє VPN-серверу показати тимчасовий 8-значний код на дисплеї пристрою.
Після цього код відображається протягом 2 хвилин.
POST /api/authorization/code/set/
Параметри запиту:
| Поле | Тип | Опис |
|---|---|---|
authorizationCode | integer / null | Код, який підтверджує для сервера фізичний доступ користувача до пристрою, або null для видалення коду. |
Приклад запиту:
{ "authorizationCode": 12345678}Відповідь:
Порожній JSON після успішного виконання команди.
{}Отримати сіль для хешування пароля
Section titled “Отримати сіль для хешування пароля”Надає унікальний рядок salt, який клієнт використовує для хешування пароля перед аутентифікацією.
GET /api/login/salt/
Відповідь:
| Поле | Тип | Опис |
|---|---|---|
salt | string | Унікальний рядок salt для хешування пароля. |
Приклад відповіді:
{ "salt": "sFtqKto6hnaURPGQLJOCT1QMx7myDEGLBsCz3a2L"}Аутентифікація користувача
Section titled “Аутентифікація користувача”Дозволяє користувачеві аутентифікуватися та отримати токен доступу.
POST /api/login/
Параметри запиту:
| Поле | Тип | Опис |
|---|---|---|
username | string | Ім’я користувача. Використовуйте admin. |
password | string | SHA1-хеш пароля в шістнадцятковому форматі. |
Примітка: SHA1-хеш пароля обчислюється як SHA1(username + password + salt).
Приклад запиту:
{ "username": "admin", "password": "90d54ed4126a0924528810aa5673a6d616d5f274"}Відповідь:
Після успішної аутентифікації повертається токен та час його дії.
| Поле | Тип | Опис |
|---|---|---|
authType | string | Тип аутентифікації (Bearer). |
token | string | Токен доступу. |
ttlSec | integer | Час життя токена в секундах. |
{ "authType": "Bearer", "token": "ej5k2pVg4Pd8yBdUqFPq8bdaStpeAZhyelpmkhtOivdK8r7E", "ttlSec": 60}Завершує поточний сеанс користувача та анулює токен.
POST /api/cmd/logout/
Приклад запиту:
{}Відповідь:
Порожній JSON після успішного виконання команди.
{}