Начиная с версии 1.37 существует возможность авторизации с использованием Сбер ID
Получение учетных данных от Сбербанка:
Для получения учетных данных необходимо зарегистрировать свою систему-клиент на портале Сбер ID.
Параметры, получаемые при регистрации системы-клиента:
- Client ID
- Client secret
- Области доступа (scope)
- Файл сертфиката и ключа (контейнер PKCS #12) и пароль от него
Подробнее про регистрацию системы-клиента можно в официальной документации Сбербанка - https://developers.sber.ru/docs/ru/sberid/service/overview
Установка и настройка
Необходимо перейти в конструктор порталов → Системные настройки → вкладка "Вход через Сбер ID"
Установить галочку в пункте "Включить интеграцию с Сбер ID". Установить параметры Тип среды, Client ID, Client secret, Области доступа (scope, по умолчнию openid mobile), а также файл сертфиката и ключа (контейнер PKCS #12) и пароль от него. Параметры получаются при регистрации системы-клиента в системе Сбер ID.
Выбрать портал, на котором будет включаться интеграция с Сбер ID → Общие настройки → Режим работы. Включить авторизацию с использованием Сбер ID. На этом настройка интеграции в конструкторе порталов закончена.
Далее, для корректной работы необходимо добавить в Java сертификаты Минцифры и сертификаты, выданные Сбербранком В данном случае установка может различаться в зависимости от того, как у вас установлен сервис eltex-portal - в deb или docker
Решение для Docker
1) Получить из докер контейнера eltex-portal путь до JDK keystore в переменную (выполнять из директории, где расположен файл docker-compose.yml):
export PORTAL_JDK_CERTS_PATH="$(docker compose exec eltex-portal printenv JAVA_HOME)/lib/security/cacerts"
2) Скопировать хранилище из контейнера portal (выполнять из директории, где расположен файл docker-compose.yml):
sudo docker compose cp eltex-portal:$PORTAL_JDK_CERTS_PATH cacerts
3) Скачать сертификаты Минцифры с сайта https://www.sberbank.com/ru/certificates/linux
4) Добавить их в cacerts c алиасом для удобства (выполнять из директории, где расположен файл docker-compose.yml).
sudo keytool -import -alias mincifracertsRoot -keystore cacerts -file russian_trusted_root_ca_pem.crt
sudo keytool -import -alias mincifracertsSub -keystore cacerts -file russian_trusted_sub_ca_pem.crt
5) Добавить в cacerts контейнер pkcs #12, полученный от Сбербанка в п.2. Пароль от хранилища cacerts дефолтный: changeit
sudo keytool -v -importkeystore -srckeystore <Ваш контейнер p12> -srcstoretype PKCS12 -destkeystore cacerts
6) Примонтировать в контейнер файл хранилища (cacerts) с установленным СА вместо оригинального по пути полученном в п.1
volumes: - ./cacerts:/opt/java/openjdk/lib/security/cacerts:ro
7) Перезапустить контейнер eltex-portal
docker compose down eltex-portal docker compose up -d eltex-portal
Решение для Deb
1) Скачать сертификаты Минцифры с сайта https://www.sberbank.com/ru/certificates/linux
2) Добавить их в java c алиасом для удобства. Путь к cacerts может отличаться в зависимости от используемой java:
sudo keytool -import -alias mincifracertsRoot -keystore /usr/lib/jvm/java-17-openjdk-amd64/lib/security/cacerts -file russian_trusted_root_ca_pem.crt sudo keytool -import -alias mincifracertsSub -keystore /usr/lib/jvm/java-17-openjdk-amd64/lib/security/cacerts -file russian_trusted_sub_ca_pem.crt
3) Добавить в cacerts контейнер pkcs12 предоставленный Сбербанком
sudo keytool -v -importkeystore -srckeystore <Ваш контейнер p12> -srcstoretype PKCS12 -destkeystore /usr/lib/jvm/java-17-openjdk-amd64/lib/security/cacerts
4) Перезагрузить сервис eltex-portal
sudo service eltex-portal restart
Настройка белых списков Eltex-APB
Для корректного перехода на страницу авторизации Сбер ID необходимо разрешить переход на следующие URL в белых списках APB:
[
{
"permitted-ip-list":
[
".*id\\.sber\\.ru",
".*id-ift\\.sber\\.ru",
".*oauth\\.sber\\.ru",
".*oauth-ift\\.sber\\.ru",
]
}
]
При использовании установки в Deb белые списки лежат в следующем файле - /etc/eltex-apb/hosts.json
При использовании установки в Docker белые списки лежат в следующем файле - <директория, где установлен SoftWLC>/data/eltex-apb/etc/eltex-apb/hosts.json


