Перейти к основному содержимому

API управления ресурсами

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 определяют поведение ресурса при следующих сценариях:

  1. registration действие при подключении нового пользователя:

    • Register: зарегистрировать пользователя в Мультифакторе;
    • Decline: не регистрировать и отказать в доступе.
  2. enrollment действие при подключении пользователя без настроенного второго фактора:

    • InlineEnrollment: настроить второй фактор и разрешить доступ;
    • Deny: запретить доступ.
  3. 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
}