- Начало работы
- Интеграция
- HTTP API
- OpenID Connect
- RADIUS протокол
- RADIUS адаптер
- LDAP адаптер
- Портал самообслуживания
- Windows Logon
- MacOS logon
- Регистрация пользователей
- .NET Core
- 1с-Bitrix24
- 1с-плагин двухфакторной аутентификации
- ADFS
- ASP.NET
- Ansible AWX
- Atlassian Cloud
- BearPass
- Check Point VPN
- Cisco ASA VPN
- Citrix Gateway
- FortiGate VPN
- HRBOX
- Huawei Cloud
- Huawei VPN
- Ideco UTM
- Keycloak
- Let's Encrypt Windows Server
- Linux logon (GUI)
- Linux SSH
- Linux SUDO
- MikroTik L2TP VPN
- NGate VPN
- Network Policy Server (NPS)
- Nextcloud
- OpenVPN
- OpenVPN + AD
- OpenVPN Access Server
- OpenVPN pfSense
- Outlook Web Access (OWA)
- Passwork
- RD Gateway (RDGW)
- Redmine
- UserGate VPN
- VMware Horizon Cloud
- VMware Horizon View
- VMware vCloud Director
- VMware vSphere
- Vault
- ViPNET
- Windows VPN
- Yandex.Cloud
- Zabbix
- АйТи-Бастион
- Континент 4 VPN
- МТС Линк (бывш. webinar.ru)
- С-Терра VPN
- Точка доступа Wi-Fi
- ФПСУ-IP/Клиент
API управления пользователями
API для управления пользователями (субъектами доступа) в MULTIFACTOR.
Доступ к API
Перед использованием данного API необходимо включить расширенное API в личном кабинете, в разделе "Настройки API" и использовать API Key и API Secret, предоставленные в разделе.
Управление пользователями
Количество пользователей и лицензий
Адрес https://api.multifactor.ru/users/count
| метод GET.
Функция для запроса текущей утилизации лицензий в системе MULTIFACTOR.
Пример запроса:
GET https://api.multifactor.ru/users/count
Пример ответа:
{
"model": {
total: 5000, //количество пользователей
limit: 6000 //количество лицензий
},
"success": true,
"message": null
}
Список пользователей
Адрес https://api.multifactor.ru/users
| метод GET.
Пример запроса:
GET https://api.multifactor.ru/users
Для поиска конкретного пользователя по логину используйте параметр запроса Identity:
GET https://api.multifactor.ru/users?identity=user@example.com
Для включения в ответ сервера номеров телефонов пользователей (при наличии), используйте параметр запроса withPhones со значением true:
GET https://api.multifactor.ru/users?withPhones=true
Пример ответа:
{
"model": [ //список пользователей
{
"id": "5e3c1058c3a23e55b0579ded", //id пользователя в MULTIFACTOR
"identity": "user@example.com", //логин пользователя в вашей системе
"name": null,
"email": null,
"isEnrolled": true, //второй фактор настроен
"createdAt": "2020-02-06T13:10:48.139Z",
"lastLogin": "2021-06-01T15:42:46.786Z",
"isLocked": false,
"groups": [ //группы, в которых состоит пользователь
"AllUsers",
"Super Admin Web"
],
"authenticators": [ //настроенные способы аутентификации
"Telegram"
],
}
],
"success": true,
"message": null
}
Регистрация пользователя
Адрес https://api.multifactor.ru/users
| метод POST.
Пользователи регистрируются автоматически при первом посещении страницы доступа, но также предусмотрен вариант регистрации через API.
Пример запроса:
{
"Identity": "user@example.com", //логин пользователя в вашей системе
"Email": "user@example.com", //e-mail, необязательно
"Phone": null, //телефон, необязательно
"Name": "User Name", //имя, необязательно
"EnrollmentLink": //отправить ссылку для настройки, необязательно
{
"To": "email", //на почту, указанную выше
"Ttl": 90 //со сроком действия 90 минут
},
"Groups": {
"Add": ["Group1 name", "Group2 name"] //добавить пользователя в группы (необязательно)
}
}
Пример ответа: пользователь зарегистрирован
{
"model": {
"id": "5e3c1058c3a23e55b0579ded",
"identity": "user@example.com",
"name": "User Name",
"email": "user@example.com",
"isEnrolled": false,
"createdAt": "2020-03-05T11:55:43.8001916Z",
"lastLogin": null,
"isLocked": false
},
"success": true,
"message": null
}
Изменение данных пользователя
Адрес https://api.multifactor.ru/users/{id}
| метод PUT.
- Параметр id — идентификатор пользователя.
Используется для изменении данных, блокировки и разблокировки пользователя.
Пример запроса:
{
"Identity": "user@example.com", //если нужно изменить логин
"Name": "User Name", //если нужно изменить имя
"Email": "user@example.com", //если нужно изменить адрес
"IsLocked": true, //если нужно заблокировать
"Groups": {
"Add": ["Group1 name", "Group2 name"], //если нужно добавить пользователя в группы
"Remove": ["Group3 name", "Group4 name"], //если нужно исключить пользователя из групп (необязательно)
}
}
Пример ответа:
{
"model": {
"id": "5e3c1058c3a23e55b0579ded",
"identity": "user@example.com",
"name": "User Name",
"email": "user@example.com",
"isEnrolled": false,
"createdAt": "2020-03-05T11:55:43.8001916Z",
"lastLogin": null,
"isLocked": true
},
"success": true,
"message": null
}
Удаление пользователя
Адрес https://api.multifactor.ru/users/{id}
| метод DELETE.
- Параметр id — идентификатор пользователя.
Пример запроса:
DELETE https://api.multifactor.ru/users/1234567890
Пример ответа:
{
"success": true,
"message": null
}
Ссылка для настройки второго фактора
Адрес https://api.multifactor.ru/users/{id}/enroll
| метод POST.
- Параметр id — идентификатор пользователя.
Функция для генерации и отправки на email пользователя ссылки для настройки второго фактора. Если не указать параметр Email, ссылка будет сгенерирована без отправки письма пользователю и возвращена в ответе сервера.
Пример запроса:
{
"Email": "user@example.com", //[опционально] адрес, куда отправить письмо,
"Ttl": 90 //срок действия ссылки (90 минут)
}
Пример ответа:
{
"success": true,
"message": null
}
Управление аутентификаторами
Подключенные способы аутентификации
Адрес https://api.multifactor.ru/users/{id}/authenticators
| метод GET.
Параметры:
- id — идентификатор пользователя.
Пример запроса:
GET https://api.multifactor.ru/users/1234567890/authenticators
Пример ответа:
{
"model": {
"Telegram": [
{
"id": "627d3d4f410ae00ede026358",
"name": "User Name"
}
],
"TotpToken": [
{
"id": "627e7ffec027bb87054ea6e3",
"name": "Яндекс.Ключ"
},
{
"id": "627e8041c027bb87054ea6e4",
"name": "Microsoft"
}
],
"HotpToken": [
{
"id": "62829fb2e0270cb2ea95208c",
"name": "YubiKey 1234567"
}
]
},
"success": true,
"message": null
}
Переименование аутентификатора
Адрес https://api.multifactor.ru/users/{id}/authenticators/{type}/{authenticatorid}
| метод PUT.
Параметры:
- id — идентификатор пользователя;
- type — способ аутентификации;
- authenticatorid — идентификатор аутентификатора.
Пример запроса:
PUT https://api.multifactor.ru/users/1234567890/authenticators/hotptoken/23456789
Параметры в теле запроса:
{
"Name": "Синий рутокен"
}
Пример ответа:
{
"success": true,
"message": null
}
Удаление аутентификатора
Адрес https://api.multifactor.ru/users/{id}/authenticators/{type}/{authenticatorid}
| метод DELETE.
Параметры:
- id — идентификатор пользователя;
- type — способ аутентификации;
- authenticatorid — идентификатор аутентификатора.
Пример запроса:
DELETE https://api.multifactor.ru/users/1234567890/authenticators/telegram/23456789
Пример ответа:
{
"success": true,
"message": null
}
Можно также вызвать данную функцию без указания authenticatorid. В таком случае будут удалены все настроенные аутентификаторы указанного способа.
Пример запроса:
DELETE https://api.multifactor.ru/users/1234567890/authenticators/telegram
Пример ответа:
{
"success": true,
"message": null
}
Регистрация OTP токена
Адрес https://api.multifactor.ru/users/{id}/authenticators/{type}
| метод POST.
Параметры:
- id — идентификатор пользователя;
- type — тип токена:
- totptoken — TOTP токен;
- hotptoken — HOTP токен.
Поддерживаемые алгоритмы хэширования:
- TOTP-токен: SHA-1 (6 цифр);
- HOTP-токен: SHA-1, SHA-256, SHA-512 (6 цифр).
Пример запроса:
POST https://api.multifactor.ru/users/1234567890/authenticators/hotptoken
Параметры в теле запроса:
{ //пример регистрации Rutoken OTP
"Name": "Rutoken HOTP", //произвольное название
"Key": "673c7514b68e8f09707cc6a4321aa76673a688d4" //ключ в hex кодировке
}
Еще пример:
{ //пример регистрации YubiKey OTP
"Name": "YubiKey 1234567", //произвольное название
"Key": "9b617117c2a4862f47caf4fb2e4032ac", //ключ в hex кодировке
"PrivateId": "2fc5120aca42" //uid в hex кодировке
}
Пример ответа:
{
"success": true,
"message": null
}
Перемещение OTP токена
Адрес https://api.multifactor.ru/users/{id}/authenticators/{type}/{tokenid}
| метод PUT.
Параметры:
- id — идентификатор пользователя;
- type — тип токена:
- totptoken — TOTP токен;
- hotptoken — HOTP токен;
- tokenid — идентификатор токена.
Функция для перемещения OTP токена между пользователями. При перемещении токен открепляется от старого пользователя и прикрепляется в качестве метода аутентификации к целевому пользователю.
Пример запроса:
PUT https://api.multifactor.ru/users/1234567890/authenticators/hotptoken/23456789
Параметры в теле запроса:
{
"user": "1234567890", //идентификатор целевого пользователя
"name": "Белый рутокен" //[опционально] новое название аутентификатора
}
Пример ответа:
{
"success": true,
"message": null
}
Копирование OTP токена
Адрес https://api.multifactor.ru/users/{id}/authenticators/{type}/{tokenId}
| метод PATCH.
Параметры:
- id — идентификатор пользователя;
- type — тип токена:
- totptoken — TOTP токен;
- hotptoken — HOTP токен;
- tokenid — идентификатор токена.
Функция для копирования OTP токена исходного пользователя одному или нескольким целевым пользователям. При копировании токен не открепляется у исходного пользователя.
Пример запроса:
PATCH https://api.multifactor.ru/users/1234567890/authenticators/hotptoken/23456789
Параметры в теле запроса:
{
"users": [
"1234567890", //идентификатор целевого пользователя 1
"1234567890" //идентификатор целевого пользователя 2
]
}