- Начало работы
- Интеграция
- 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/Клиент
OpenID Connect / OAuth
OpenID Connect (OIDC) — протокол аутентификации и получения информации о пользователе из внешней системы. Протокол обратно совместим с OAuth, разница заключается в том, что OpenID Connect используется для аутентификации, а OAuth для авторизации.
С помощью MULTIFACTOR можно подключить двухфакторную аутентификацию и контроль доступа пользователей в ваше приложение по любому из данных протоколов.
Поскольку MULTIFACTOR не запрашивает и не хранит пароли ваших пользователей, первым фактором аутентификации (логин и пароль), в зависимости от настройки, могут быть:
Google
Yandex
Active Directory (локальная)
Azure AD
любой другой поставщик учетных записей
Схема работы
- Ваше приложение создает запрос доступа и отправляет пользователя на страницу MULTIFACTOR.
- Мультифактор переадресует пользователя на страницу поставщика учетных записей.
- После подтверждения первого фактора, MULTIFACTOR запрашивает второй фактор аутентификации и возвращает пользователя в ваше приложение с результатом.
Конфигурация OpenID Connect
Конфигурация для подключения вашего приложения к MULTIFACTOR по протоколу OIDC или OAuth доступна по ссылке https://api.multifactor.ru/.well-known/openid-configuration.
Настройка MULTIFACTOR
Зайдите в систему управления MULTIFACTOR, далее в раздел "Ресурсы" и создайте новое OAuth / OpenID приложение. После создания вам будут доступны два параметра: Client ID и Client Secret, они потребуются для интеграции.
Процесс интеграции
- Вы отправляете пользователя на адрес
https://idp.multifactor.ru/oidc?response_type=code&client_id=client_id&redirect_uri=redirect_uri&scope=openid&state=state
где
- client_id — параметр из настроек ресурса;
- redirect_uri — адрес возврата в ваше приложение (должен быть указан в настройках ресурса);
- state — произвольное значение для отслеживания запроса на ваше стороне.
- После аутентификации MULTIFACTOR возвращает пользователя на адрес
redirect_uri?code=auth_code&state=state
где
- redirect_uri — адрес вашего приложения из первого запроса;
- auth_code — код авторизации;
- state — значение из первого запроса.
- Ваш сервер делает запрос к нам на адрес
POST https://api.multifactor.ru/openid/token
grant_type=authorization_code&
code=auth_code&
redirect_uri=redirect_uri&
client_id=client_id&
client_secret=client_secret
где
- auth_code — параметр из второго запроса;
- redirect_uri — адрес вашего приложения из первого запроса;
- client_id — из настроек ресурса;
- client_secret — аналогично.
Параметры передаются в теле запроса с указанием
Content-Type: application/x-www-form-urlencoded.
- В ответ наш сервер возвращает токен авторизации, срок действия, токен пользователя и ассоциированное с ним случайное значение
{
"token_type": "Bearer",
"access_token":"access_token",
"expires_in":3600,
"id_token": "id_token",
"scope": "openid",
"nonce": "nonce"
}
где
- access_token — токен доступа;
- expires_in — срок действия в секундах;
- id_token — информация о пользователе, закодированная в формате JWT;
- nonce — случайное значение, используемое для привязки клиентского сеанса к токену.
Вы можете раскодировать и проверить токен пользователя и на этом завершить процесс аутентификации, либо перейти к следующему шагу.
- Для получения информации о пользователе ваш сервер делает запрос к нам на адрес
GET https://api.multifactor.ru/openid/userinfo
С авторизацией Authorization: Bearer access_token
где
- access_token — токен доступа из запроса 4.
- В ответ наш сервер возвращает информацию о пользователе в формате JSON
{
"iss": "https://access.multifactor.ru", //кто выдал токен
"aud": "rs_1a913e4ea690ac12ea163331dd60d", //кому выдан (client_id)
"sub": "user@example.com", //имя пользователя
"iat": 1571684399, //когда выдан
"exp": 1571684699, //срок действия
"name": "Name Surname", //имя пользователя указанное при регистрации в Multifactor (приоритетнее) или внешней системе
"email": "user@example.com" //email адрес пользователя
}