auth.php¶
API module for authentication management, including 2FA verification, session handling, and SSO integration.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
2fa_check | проверка 2FA | Проверяет введенный код двухфакторной аутентификации и возвращает данные сессии. |
2fa_resend | повторная отправка 2FA | Запрашивает повторную отправку кода двухфакторной аутентификации. |
billing_list | получение списка биллингов | Возвращает список доступных платежных систем (биллингов). |
email_check | проверка email | Проверяет существование пользователя по email и отправляет код верификации. |
flip_tag | переключение тега | Создает или удаляет тег у пользователя. |
get_log_details | получение деталей лога | Возвращает детализированные логи аутентификации для пользователя. |
github_init | инициализация GitHub SSO | Инициирует процесс авторизации через GitHub. |
github_signin | инициализация входа через GitHub | Инициирует процесс OAuth авторизации через GitHub, генерируя state и redirect URI. |
google_signin | авторизация через Google SSO | Валидирует Google ID Token и привязывает его к текущей сессии или аккаунту. |
info | получение информации о токене | Возвращает данные текущей сессии (роль, права, email, серверы) на основе токена. |
ipalogin | вход через FreeIPA (LDAP) | Выполняет аутентификацию пользователя в LDAP/FreeIPA и создает сессию. |
list_hashes | получение списка хешей (заглушка) | Метод не реализован. |
login | вход по API ключу | Авторизация клиента с использованием долгосрочного API ключа. |
logout | выход из системы | Удаляет текущий токен доступа. |
register | регистрация | Метод не реализован (die). |
session_reset | сброс сессии | Сбрасывает все активные сессии пользователя, если предоставлен верный токен сброса. |
set_tag | установка тега | Создает или удаляет тег пользователя. |
sms_check | проверка номера SMS | Проверяет номер телефона на доступность для отправки SMS. |
sms_send | отправка SMS | Отправляет код верификации на номер телефона. |
sms_validate | валидация SMS | Проверяет введенный пользователем код верификации через Twilio. |
tg_verify | верификация Telegram | Привязывает username Telegram к аккаунту пользователя. |
unregister | не реализовано | Метод не реализован (die). |
validate | не реализовано | Метод не реализован (break). |
validate_login | проверка учетных данных WHMCS | Проверяет валидность логина и пароля в доступных биллинговых системах (WHMCS). |
vk_init | инициализация VK OAuth | Инициирует процесс авторизации через VK, возвращает данные для клиентской части. |
vk_signin | авторизация через VK | Завершает процесс авторизации через VK, обменивая код на сессию. |
whmcslogin | вход через WHMCS (SSO или логин/пароль) | Выполняет вход в систему через учетные данные WHMCS или с помощью SSO провайдеров. |
auth/2fa_check¶
Проверяет введенный код двухфакторной аутентификации и возвращает данные сессии.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: 2fa_check |
| token | ✅ | string | Токен сессии для проверки двухфакторной аутентификации. |
| user_token | ❌ | string | Код двухфакторной аутентификации для проверки. |
| ttl | ❌ | integer | Время жизни токена в секундах. |
| device_id | ❌ | string | Уникальный идентификатор устройства пользователя. |
| state | ❌ | string | Текущее состояние сессии или процесса аутентификации. |
Пример запроса
Пример успешного ответа
auth/2fa_resend¶
Запрашивает повторную отправку кода двухфакторной аутентификации.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: 2fa_resend |
| token | ✅ | string | Токен сессии для аутентификации. |
| from | ❌ | string | Источник запроса (например, user_profile). |
| user | ❌ | string | Электронная почта пользователя для отправки кода двухфакторной аутентификации. |
Пример запроса
auth/billing_list¶
Возвращает список доступных платежных систем (биллингов).
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: billing_list |
| token | ❌ | string | Токен сессии для авторизации пользователя. |
| device_id | ❌ | integer | Уникальный идентификатор устройства для фильтрации списка биллингов. |
| state | ❌ | string | Текущее состояние или статус записи в системе биллинга. |
auth/email_check¶
Проверяет существование пользователя по email и отправляет код верификации.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: email_check |
| user_email | ✅ | string | Электронная почта пользователя для проверки и отправки кода верификации. |
| location | ✅ | string | Идентификатор биллинговой локации (whmcs location). |
| user_token | ❌ | string | Токен верификации для подтверждения выполнения действия. |
| device_id | ❌ | string | Уникальный идентификатор устройства. |
| state | ❌ | string | Текущее состояние процесса или статус проверки. |
Пример запроса
Пример успешного ответа
auth/flip_tag¶
Создает или удаляет тег у пользователя.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: flip_tag |
| token | ✅ | string | Токен сессии. |
| tag | ✅ | string | Имя тега. Допустимые значения: server_id, %. |
| device_id | ❌ | integer | Уникальный идентификатор устройства. |
| state | ❌ | string | Текущее состояние или статус объекта. |
Пример запроса
auth/github_init¶
Инициирует процесс авторизации через GitHub.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: github_init |
| device_id | ❌ | string | Уникальный идентификатор устройства для привязки сессии. |
| state | ❌ | string | Состояние безопасности для защиты от CSRF-атак при авторизации через GitHub. |
Пример успешного ответа
auth/github_signin¶
Инициирует процесс OAuth авторизации через GitHub, генерируя state и redirect URI.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: github_signin |
| state | ❌ | string | Состояние OAuth для проверки целостности сессии. |
| code | ✅ | string | Код авторизации, полученный от GitHub. |
| token | ❌ | string | API-токен аутентификации для проверки прав доступа пользователя. |
| device_id | ❌ | string | Уникальный идентификатор устройства пользователя. |
Пример запроса
Пример успешного ответа
auth/google_signin¶
Валидирует Google ID Token и привязывает его к текущей сессии или аккаунту.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: google_signin |
| credential | ✅ | string | Google ID Token (JWT) для аутентификации пользователя. |
| token | ❌ | string | Существующий токен сессии для привязки Google к аккаунту. |
| device_id | ❌ | string | Уникальный идентификатор устройства пользователя. |
| state | ❌ | string | Состояние или дополнительный контекстный параметр запроса. |
Пример запроса
auth/info¶
Возвращает данные текущей сессии (роль, права, email, серверы) на основе токена.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: info |
| token | ✅ | string | Валидный токен сессии. |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"action": "info",
"token": "string",
"role": "string",
"role_type": "Customer|Employee",
"permissions": ["string"],
"whmcs_id": 0,
"whmcs_location": "string",
"customer_id": 0,
"server_data_incomplete": false,
"subaccount": "string",
"prebill_global": false,
"s3": false,
"original_tags": ["string"],
"has_product_subscription": false,
"email": "string",
"edit_master_profile": false,
"manage_orders": false,
"token_expire": 0,
"billing_servers": [0],
"show_products": false,
"deploy_keys": ["string"],
"manage_products": false,
"show_invoices": false,
"ipsubnet_announce": false,
"prebill_scope": "string",
"prebill": false,
"managed_apps": false,
"role_name": "string",
"verified": false,
"sumsub_id": "string",
"sumsub_comment": "string",
"corporate": false,
"tags": ["string"],
"default_lang": "string",
"private_ranges": ["string"],
"private_vlans": ["string"],
"prebill_pending": [0],
"prebill_balance": 0.0,
"billing_options": {},
"client_ip": "string",
"timing": []
}
auth/ipalogin¶
Выполняет аутентификацию пользователя в LDAP/FreeIPA и создает сессию.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: ipalogin |
| user | ✅ | string | Имя пользователя для аутентификации в LDAP. |
| password | ✅ | string | Пароль пользователя. |
| server_id | ❌ | string | ID сервера для привязки сессии. Допустимые значения: server_id, %. |
| geo_lat | ❌ | string | Широта географических координат пользователя. |
| geo_long | ❌ | string | Долгота географических координат пользователя. |
| fix_ip | ❌ | boolean | Флаг фиксации IP-адреса для привязки сессии к текущему адресу. |
| ttl | ❌ | integer | Время жизни токена авторизации в секундах. |
| device_id | ❌ | string | Идентификатор устройства для привязки сессии. |
| state | ❌ | string | Состояние или дополнительный параметр запроса авторизации. |
Пример запроса
Пример успешного ответа
Примеры ошибок
auth/list_hashes¶
Метод не реализован.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list_hashes |
auth/login¶
Авторизация клиента с использованием долгосрочного API ключа.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: login |
| key | ✅ | string | API ключ клиента в формате xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx. |
| ttl | ❌ | integer | Время жизни токена сессии в секундах. |
| fix_ip | ❌ | integer | Флаг фиксации IP-адреса для сессии авторизации. |
| base | ❌ | string | Базовый URL адрес для формирования инвапи-ссылок. |
Пример запроса
Пример успешного ответа
{
"token": "string",
"role": "string",
"role_type": "Customer|server ID",
"whmcs_id": "integer",
"whmcs_location": "string",
"servers": "array<integer>",
"invapi": "string",
"customer_id": "integer",
"permissions": "array<string>",
"token_expire": "integer",
"new": "boolean",
"prebill": "boolean",
"prebill_scope": "string",
"prebill_global": "boolean"
}
auth/logout¶
Удаляет текущий токен доступа.
HTTP-метод: POST
Параметры:
| action | ✅ | string | Идентификатор метода: logout |
|---|---|---|---|
auth/register¶
Метод не реализован (die).
HTTP-метод: POST
Параметры:
| action | ✅ | string | Идентификатор метода: register |
|---|---|---|---|
auth/session_reset¶
Сбрасывает все активные сессии пользователя, если предоставлен верный токен сброса.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: session_reset |
| confirm | ❌ | integer | Подтверждение действия (1 для выполнения). |
| user_email | ✅ | string | Электронная почта пользователя для сброса сессий. |
| reset_token | ✅ | string | Специальный токен сброса (6 символов: первые 3 и последние 3 от логин-токена). |
Пример запроса
auth/set_tag¶
Создает или удаляет тег пользователя.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: set_tag |
| token | ✅ | string | Токен авторизации. |
| tag | ✅ | string | Имя тега. Допустимые значения: server_id, % |
| set | ✅ | boolean | Флаг установки (true) или удаления (false) тега. |
| device_id | ❌ | integer | Уникальный идентификатор устройства. |
| state | ❌ | string | Текущее состояние или статус объекта. |
Пример запроса
Пример успешного ответа
auth/sms_check¶
Проверяет номер телефона на доступность для отправки SMS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: sms_check |
| number | ✅ | string | Номер телефона в формате E.164 (начинается с +). |
| device_id | ❌ | integer | Уникальный идентификатор устройства. |
| state | ❌ | string | Текущее состояние или статус процесса. |
Пример запроса
auth/sms_send¶
Отправляет код верификации на номер телефона.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: sms_send |
| token | ✅ | string | Токен авторизации. |
| user_token | ✅ | string | Номер телефона пользователя для отправки SMS верификации. |
| code | ❌ | string | Код подтверждения для завершения верификации номера. |
| device_id | ❌ | string | Идентификатор устройства пользователя. |
| state | ❌ | string | Текущее состояние процесса верификации или результат операции. |
Пример запроса
Пример успешного ответа
auth/sms_validate¶
Проверяет введенный пользователем код верификации через Twilio.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: sms_validate |
| number | ✅ | string | Номер телефона в формате E.164 (должен начинаться с +). |
| code | ✅ | string | Код верификации пользователя. |
| device_id | ❌ | integer | Уникальный идентификатор устройства пользователя. |
| state | ❌ | string | Текущее состояние или статус процесса верификации. |
Пример запроса
Примеры ошибок
auth/tg_verify¶
Привязывает username Telegram к аккаунту пользователя.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: tg_verify |
| token | ✅ | string | Токен авторизации. |
| tg_username | ✅ | string | Имя пользователя Telegram для верификации аккаунта. |
| user_email | ❌ | string | Электронная почта пользователя для идентификации в системе. |
| client_id | ❌ | integer | Уникальный идентификатор клиента. |
| location | ❌ | string | Местоположение или локация пользователя. |
| device_id | ❌ | string | Уникальный идентификатор устройства пользователя. |
| state | ❌ | string | Текущее состояние или статус процесса верификации. |
Пример запроса
auth/unregister¶
Метод не реализован (die).
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: unregister |
auth/validate¶
Метод не реализован (break).
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: validate |
auth/validate_login¶
Проверяет валидность логина и пароля в доступных биллинговых системах (WHMCS).
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: validate_login |
| user | ✅ | string | Логин пользователя (email). |
| password | ✅ | string | Пароль пользователя. |
Пример запроса
auth/vk_init¶
Инициирует процесс авторизации через VK, возвращает данные для клиентской части.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: vk_init |
| state | ✅ | string | Параметр состояния для защиты от CSRF-атак. |
Пример запроса
Пример успешного ответа
auth/vk_signin¶
Завершает процесс авторизации через VK, обменивая код на сессию.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: vk_signin |
| state | ✅ | string | Состояние OAuth (содержит ID сессии). Передается через GET. |
| code | ✅ | string | Код авторизации от VK. Передается через GET. |
| device_id | ✅ | string | ID устройства из vk_init. Передается через GET. |
| token | ❌ | string | API-токен аутентификации для проверки сессии пользователя. |
Пример запроса
auth/whmcslogin¶
Выполняет вход в систему через учетные данные WHMCS или с помощью SSO провайдеров.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: whmcslogin |
| sso | ❌ | string | Метод SSO. Допустимые значения: google, github, vk. |
| sso_hash | ❌ | string | Хеш/токен от провайдера SSO. |
| user | ❌ | string | Email пользователя (для обычного входа). |
| password | ❌ | string | Пароль пользователя. |
| VisitorID | ❌ | string | Уникальный идентификатор посетителя для привязки к аккаунту клиента. |
| web_ip | ❌ | string | IP-адрес веб-сайта или пользователя для логирования и проверки доступа. |
| location | ❌ | string | Выбранный регион или платежный сервис для авторизации в WHMCS. |
| apikey | ❌ | string | API-ключ для аутентификации запроса к системе. |
| customer_data | ❌ | boolean | Флаг запроса полных данных клиента при успешном входе. |
| fix_ip | ❌ | integer | Параметр фиксации IP-адреса для привязки сессии к конкретному адресу. |
| ttl | ❌ | integer | Время жизни токена авторизации в секундах. |
| device_id | ❌ | string | Идентификатор устройства пользователя. |
| state | ❌ | string | Состояние или статус сессии авторизации. |
Пример запроса
Пример успешного ответа
auth/get_log_details¶
Возвращает детализированные логи аутентификации для пользователя.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_log_details |
| token | ✅ | string | Токен для валидации сессии. |
| user_token | ❌ | string | Уникальный идентификатор пользователя для получения подробной информации из логов. |
Пример запроса