- Начало работы
- Интеграция
- HTTP API
- OpenID Connect
- RADIUS протокол
- RADIUS адаптер
- LDAP адаптер
- Портал самообслуживания
- MULTIFACTOR Directory Sync
- Windows 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
- Microsoft Entra ID
- 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
- Yandex 360
- Zabbix
- АйТи-Бастион
- Континент 4 VPN
- МТС Линк (бывш. webinar.ru)
- WordPress
- С-Терра 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 ] }