====== Интеграция ADVANTA с Blitz Identity Provider ====== Сервер аутентификации [[https://identityblitz.ru|Blitz Identity Provider]] - это российское ПО для управления входом пользователей в приложения, позволяющее оснастить веб-сайты и мобильные приложения компании функциями защиты учетных записей пользователей. Благодаря интеграции возможно осуществлять авторизацию в Систему ADVANTA через сервер аутентификации по протоколу OpenIdConnect. Подключение Системы ADVANTA к Blitz IDP выполняется по протоколу **OpenIdConnect** и состоит из двух этапов: - Настройки на стороне [[https://identityblitz.ru|Blitz Identity Provider]]. - Настройки на стороне Системы ADVANTA. Для реализации интеграции у вас должен быть доступ по крайней мере к демо-версиям данных продуктов. ===== О Blitz IDP ===== [[https://identityblitz.ru|Blitz Identity Provider]] - платформа создания единого сервиса доступа в организации. Единый сервис доступа обеспечивает идентификацию, аутентификацию и контроль доступа пользователей к приложениям организации. \\ {{ :product:api:integration_examples:blitz_idp.png?direct |}} \\ Продукт развертывается на серверах организации и позволяет оснастить внутреннюю ИТ-инфраструктуру функциями защиты учетных записей пользователей. Blitz IDP поддерживает современные протоколы аутентификации, популярные отечественные операционные системы и СУБД. Основные функции Blitz IDP: * обеспечение единого сквозного входа пользователя в приложения (Single Sign-On); * двухфакторная аутентификация; * конфигурируемый пользовательский интерфейс страниц входа, регистрации, восстановления доступа, управления учетной записью; * вход с использованием сторонних поставщиков идентификации: вход с помощью аккаунтов социальных сетей, банков, Единой системы идентификации и аутентификации (ЕСИА, Госуслуги), Mos ID (СУДИР), федеративный вход пользователей с использованием внешних поставщиков идентификации; * проверка прав доступа на вход пользователей в приложения; * проверка прав доступа пользователей и приложений при использовании REST-сервисов; * протоколирование событий доступа и действий с учетными записями. Подробнее о сервере можно узнать из [[https://docs.identityblitz.ru/latest|документации]] на сайте [[https://identityblitz.ru|Blitz IDP]] или скачать [[https://docs.identityblitz.ru/latest/pdf/index.html|PDF-файлы]]. Blitz IDP зарегистрирован в Едином реестре российского ПО (№842) и сертифицирован ФСТЭК России (№4525 от 10.03.2022), что подтверждает соответствие требованиям информационной безопасности и допускает применение продукта в государственных информационных системах. ===== Установка и настройка Blitz IDP ===== ==== Общая инструкция по установке ==== Подробная информация об установке и настройке Blitz IDP в документации на сайте Blitz IDP на странице [[https://docs.identityblitz.ru/latest/admin-guide/install-ee.html|Общая инструкция по установке]]. В зависимости от используемой операционной системы есть своя специфика по установке необходимого окружения. Также можно посмотреть [[https://demo.identityblitz.com/list_ru/|демоверсию]] приложения. ==== Настройки интеграции на стороне Blitz IDP ==== Для настройки интеграции в консоли управления Blitz IDP перейдите в раздел "Приложения" и выполните действия: 1. Создайте новое приложение ADVANTA, задав его базовые настройки: * идентификатор (''entityID'' или ''client_id''): ''''; * название: ''''; * домен. 2. Нажмите "Сохранить". 3. Далее нажмите кнопку "Параметры" у предложения ADVANTA и отредактируйте параметры приложения: * протоколы: выберите **OAuth 2.0** / **OpenIdConnect** и нажмите "Сконфигурировать"; * далее в параметрах укажите данные, как в конфигурационном файле ''client.config'': секрет (''client_secret''), префиксы ссылок возврата, допустимые разрешения: profile. 4. Нажмите "Сохранить". После прохождения всех шагов рекомендуем проверить корректность входа в ADVANTA. Более подробную информацию о настройках интеграции можно найти в документации на сайте Blitz IDP в разделе [[https://docs.identityblitz.ru/latest/integration-guide/index.html|Интеграция]]. ===== Настройки в ADVANTA ===== [[product:settings:system:open_id|Настройка авторизации через Open ID Connect]] производится Администратором системы. В настройках конфигурационного файла системы ''client.config'', ''начиная с версии системы 3.29'', появился раздел, в котором в виде массива можно указать перечень внешних сервисов аутентификации по протоколу **OpenIdConnect**: /* Массив */ ... /* Описание второго провайдера */ ... ^ Параметр ^ Описание ^ |caption|Обязательный параметр \\ Название провайдера авторизации для отображения кнопки с этим именем| |metadataURL|Обязательный параметр \\ URL-адрес удаленного сервера с метаданными| |authenticationType|Обязательный параметр \\ Идентификатор провайдера авторизации, под этим именем данный провайдер OpenIdConnect будет отображаться в профиле пользователя, а также использоваться в API методах. Можно использовать любой удобный| |clientId|Обязательный параметр \\ Идентификатор клиента (приложения), выбирается согласно правилам именования сервисов для аутентификации в OpenIdConnect| |enabled|Обязательный параметр \\ Включение/отключение провайдера, возможные значения: true и false| |scope|Указываются запрашиваемые скоупы. Если параметр не задан, то используется только скоуп ''openid'' \\ Может быть несколько| |clientSecret|Обязательный параметр \\ Указывается секрет приложения| |responseType|Необязательный параметр. \\ Тип ответа, по умолчанию ''id_token''. Возможные значения: \\ ''code'', \\ ''code id_token'', \\ ''code id_token token'', \\ ''code token'', \\ ''id_token'', \\ ''id_token token'', \\ ''token''| |claimType|Тип утверждения, используемый для получения идентификатора пользователя на сервере авторизации. Будет использоваться для связки пользователя системы с пользователем OpenIdConnect| |disableSignatureValidation|Необязательный параметр \\ Отключает валидацию токена. Если параметр не задан, то значение false и валидация включена| |jwksFilePath|Опциональный параметр \\ Файл, который содержит ключи валидации в формате JSON. Формат аналогичен странице ''jwks_uri''. Если параметр не задан, то ключи берутся только с адреса ''jwks_uri'' \\ Можно использовать, если по какой-то причине провайдер OpenIdConnect не предоставляет ключи валидации \\ Пример использования: ''jwksFilePath'' = ″C:\inetpub\wwwroot\a2key\jwksFile.txt″| В ''client.config'' также необходимо добавить индикацию, что необходимо использовать интеграцию с **OpenIdConnect**. Для этого опционально в разделе '''' предусмотреть размещение секции '' ″
″''. При отсутствии данной секции, использование **OpenIdConnect** невозможно. Пример настройки конфигурационного файла системы ''client.config'' для авторизации через провайдера [[https://identityblitz.ru|Blitz IDP]]: ... ...
... ... ... При отключении провайдера (параметр ''enabled''), кнопки авторизации не будет, но привязка пользователей в системе сохранится. Чтобы удалить связи с сервисами авторизации, необходимо: * в [[product:settings:system:open_id#настройка_связки_учетных_записей|портлете с сервисами авторизации]] в настройках пользователя удалить привязку к сервису; * использовать метод API [[product:api:list:deletelinkuserwith_oid|DeleteLinksWithOpenIdConnect]]. Подробнее о методах API на странице [[product:api:list|Описание методов API]]. ===== Результат интеграции ===== ==== Вход в систему ==== После корректных настроек конфигурационного файла и перезапуска системы, пользователю будет доступен вход в систему через новый провайдер аутентификации. Например, пользователь, нажимая на кнопку «Войти через SSO», перенаправляется на адрес провайдера авторизации Blitz IDP, указанный в настройках файла ''client.config''. После успешного прохождения авторизации у провайдера **OpenIdConnect**, запрос будет перенаправлен обратно в систему ADVANTA. Система ADVANTA производит идентификацию пользователя и, в случае успешной идентификации, авторизует пользователя в системе. {{ :product:auth:admin:sso_login_full1.png?direct&300 |}} \\ Подробную информацию о входе в систему через провайдера аутентификации можно прочесть на странице [[product:auth:admin:sso_open_id|Авторизация по протоколу Open ID Connect]]. ==== Портлет в настройках пользователя ==== После настройки интеграции с Blitz IDP в профиле пользователя также появится [[product:auth:users:list_of_bindings#список_привязок_open_id_connect|раздел]] для связывания учетной записи системы ADVANTA с учетной записью внешнего провайдера. Портлет находится в настройках пользователя, после портлета «Мои настройки». В портлете указана информация: * название - название провайдера **OpenIdConnect** (соответствует ''authenticationType'' в конфигурационном файле); * заголовок - заголовок провайдера **OpenIdConnect** (соответствует ''caption'' в конфигурационном файле), название кнопки на странице входа; * учетная запись - учетная запись данного пользователя у провайдера **OpenIdConnect**; * столбец с кнопкой «Изменить» - нажимая на нее, открывается возможность редактирования соответствующей строки. {{ releases:3_29:sso_user_profile.png?direct&500 |}} \\ При нажатии кнопки "Изменить" в столбце "Учетная запись" появляется возможность ввести данные учетной записи данного пользователя у провайдера **OpenIdConnect**. Для сохранения данных необходимо нажать кнопку "Сохранить". \\ {{ :product:settings:system:account_set.png?direct&500 |}} \\ После того, как создана привязка и указана корректная информация учетной записи пользователя у провайдера **OpenIdConnect**, у пользователя появляется возможность входа в систему ADVANTA через Blitz IDP. Более подробную информацию можно прочесть на странице [[product:settings:system:open_id#настройка_связки_учетных_записей|Настройка авторизации через Open ID Connect]].