API управления ресурсами
API для управления ресурсами (объектами доступа) в Мультифакторе.
Перед использованием данного API необходимо включить расширенное API в личном кабинете, в разделе "Настройки API" и использовать API Key и API Secret, предоставленные в разделе.
Список типов ресурсов
Функция для запроса всех предусмотренных в системе типов ресурсов (список пополняется).
Адрес https://api.multifactor.ru/resources/types
| метод GET.
Пример ответа:
{
"model": [
"CheckPoint",
"Cisco",
"CitrixGateway",
"FortiGate",
"GenericLdap",
"ITBastion",
"Linux",
"Mikrotik",
"NGate",
"NPS",
"OpenIdConnect",
"OpenVPN",
"OWA",
"RDGW",
"RRAS",
"SAML",
"SSP",
"STerra",
"SUDO",
"UserGate",
"VMwareHorizon",
"VPNFW",
"WebSite",
"Wifi",
"Winlogon",
"YandexCloud"
],
"success": true,
"message": null
}
Список ресурсов
Функция для запроса списка зарегистрированных ресурсов.
Адрес https://api.multifactor.ru/resources
| метод GET.
Пример ответа:
{
"model": [
{
"id": "610a4fb0fe92682b3011adad", //id
"createdAt": "2021-08-04T08:28:32.804Z", //дата создания
"type": "Cisco", //тип
"name": "ASA 5510 VPN", //название
"address": "https://vpn.corp.ru", //адрес
"apiKey": "rs_b181.........38bc", //ключ для подключения адаптера
"apiSecret": "217721.........9c5a", //ключ для подключения адаптера
"registration": {
"behaviour": "Register" //регистрировать новых пользвателей
},
"enrollment": {
"behaviour": "InlineEnrollment" //настраивать второй фактор
},
"authentication": {
"behaviour": "NotifyAndLetChoose" //предупреждать и предлагать варианты
},
"lang": "ru" //вести диалог на русском
},
{
"id": "613730ac2e32ed4d934be16a", //id
"createdAt": "2021-09-07T09:28:12.547Z", //дата создания
"type": "RDGW", //тип
"name": "Remote desktop gateway", //название
"address": "https://ts.corp.ru", //адрес
"apiKey": "rs_4ea4.........24dc", //ключ для подключения адаптера
"apiSecret": "d903.........8654", //ключ для подключения адаптера
"registration": {
"behaviour": "Decline" //запрещать доступ неизвестным пользователям
}
},
{
"id": "6166ef5f81563e60e3fd1cb4", //id
"createdAt": "2021-10-13T14:38:23.398Z", //дата создания
"type": "WebSite", //тип
"name": "Corp app", //название
"address": "https://app.corp.ru", //адрес
"apiKey": "rs_22fb.........75cd", //ключ для интеграции
"apiSecret": "093c.........e29f", //ключ для интеграции
"registration": {
"behaviour": "Register" //регистрировать новых пользвателей
},
"enrollment": {
"behaviour": "InlineEnrollment" //настраивать второй фактор
},
"web": {
"tokenFormat": "JwtRS256" //формат токена доступа: JwtRS256 или JwtHS256 (только для WebSite)
}
},
{
"id": "6177d4b95fcb770263aad975", //id
"createdAt": "2021-10-26T10:13:13.598Z", //дата создания
"type": "Linux", //тип
"name": "ssh", //название
"apiKey": "rs_9781.........1e45", //ключ для подключения адаптера
"apiSecret": "de93.........1247", //ключ для подключения адаптера
"registration": {
"behaviour": "Decline" //запрещать доступ неизвестным пользователям
},
"enrollment": {
"behaviour": "Deny" //запрещать дост уп без настроенного второго фактора
},
"authentication": {
"behaviour": "UseDefaultProvider" //автоматически выбирать приоритетный способ
},
"lang": "en" //вести диалог на английском
},
],
"success": true,
"message": null
}
Регистрация ресурса
Адрес https://api.multifactor.ru/resources
| метод POST.
Пример запроса:
{
"type": "Cisco", //тип
"name": "ASA 5510 VPN", //название
"address": "https://vpn.corp.ru", //адрес (опционально)
"registration": {
"behaviour": "Register" //регистрировать новых пользвателей
},
"enrollment": {
"behaviour": "InlineEnrollment" //настраивать второй фактор
},
"authentication": {
"behaviour": "NotifyAndLetChoose" //предупреждать и предлагать варианты
},
"lang": "ru" //вести диалог на русском
}
Пример ответа: ресурс зарегистрирован
{
"model": {
"id": "6282372a885a5417c5a973c8", //id
"createdAt": "2022-05-16T11:36:10.1848527Z", //дата создания
"type": "Cisco", //тип
"name": "ASA 5510 VPN", //название
"address": "https://vpn.corp.ru", //адрес (опционально)
"apiKey": "rs_0d3a.........b3a5", //ключ для подключения адаптера
"apiSecret": "cfbe.........85af", //ключ для подключения адаптера
"registration": {
"behaviour": "Register" //регистрировать новых пользвателей
},
"enrollment": {
"behaviour": "InlineEnrollment" //настраивать второй фактор
},
"authentication": {
"behaviour": "NotifyAndLetChoose" //предупреждать и предлагать варианты
},
"lang": "ru" //вести диалог на русском
},
"success": true,
"message": null
}
Параметры registration, enrollment и authentication определяют поведение ресурса при следующих сценариях:
-
registration — действие при подключении нового пользователя:
- Register: зарегистрировать пользователя в Мультифакторе;
- Decline: не регистрировать и отказать в доступе.
-
enrollment — действие при подключении пользователя без настроенного второго фактора:
- InlineEnrollment: настроить второй фактор и разрешить доступ;
- Deny: запретить доступ.
-
authentication — действие при подключении пользователя с настроенным одним или несколькими способами проверки второго фактора:
- UseDefaultProvider: автоматически выбрать приоритетный способ;
- NotifyAndLetChoose: предупредить и предложить выбор.
Настройки enrollment и authentication зависят от возможности ресурса.
Изменение настроек ресурса
Адрес https://api.multifactor.ru/resources/id
| метод PUT.
- Параметр id — идентификатор ресурса в Мультифакторе
Пример запроса:
{
"Name": "ASA 5510 VPN", //если нужно изменить название
"address": "https://vpn.corp.ru", //если нужно изменить адрес
"registration": { //если нужно изменить поведение регистрации
"behaviour": "Register"
},
"enrollment": { //если нужно изменить поведение настройки второго фактора
"behaviour": "InlineEnrollment"
},
"authentication": { //если нужно изменить поведение аутентификации
"behaviour": "NotifyAndLetChoose"
},
"lang": "ru" //если нужно изменить язык диалога
}
Пример ответа:
{
"model": {
"id": "6282372a885a5417c5a973c8",
"createdAt": "2022-05-16T11:36:10.1848527Z",
"type": "Cisco",
"name": "ASA 5510 VPN",
"address": "https://vpn.corp.ru",
"apiKey": "rs_0d3af959903db8468687b5689b3a5",
"apiSecret": "cfbeaf3659a62ea6423731115c9d85af",
"registration": {
"behaviour": "Register"
},
"enrollment": {
"behaviour": "InlineEnrollment"
},
"authentication": {
"behaviour": "NotifyAndLetChoose"
},
"lang": "ru"
},
"success": true,
"message": null
}
Удаление ресурса
Адрес https://api.multifactor.ru/resources/id
| метод DELETE.
- Параметр id — идентификатор ресурса в Мультифакторе
Пример ответа:
{
"success": true,
"message": null
}