You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Данная статья описывает процесс настройки единого входа (SSO) для веб-приложения Vitro-CAD. Настройка включает подключение корпоративной службы каталогов (Active Directory) к Keycloak и регистрацию приложения в качестве OIDC-клиента.
Для настройки интеграции перейдите в WebUI Keycloak и выберите существующий или создайте новый реалм.



Этап 1: Подключение LDAP (Active Directory)

Первым шагом необходимо настроить поставщика идентификации для синхронизации учетных записей пользователей из Active Directory.


  1. В левом навигационном меню выберите раздел Федерация пользователей и нажмите Add LDAP provider.
  2. В блоке General options:
    • Наименование в консоли: ldap
    • Поставщик (Vendor): Active Directory
  3. В блоке Connection and authentication settings:
      • URL соединения: Укажите адрес вашего контроллера домена (например, ldap://10.0.0.1:389).
      • Включить StartTLS: Переведите в положение Off (при использовании стандартного порта 389) или в положение On (при использовании шифрования и стандартного порта 636)
      • Использование: Always.
      • Тип аутентификации: simple.
      • Сопоставление DN (Bind DN): Укажите выделенную сервисную учетную запись для чтения каталога (например, sp_setup@vitro.intra).
      • Bind credentials: Введите пароль от сервисной учетной записи.
      • Рекомендация: нажмите кнопки Тест соединения и Проверка аутентификации. В правом верхнем углу должно появиться зеленое уведомление об успешном подключении: Successfully connected to LDAP.




  4.  В блоке LDAP searching and updating:
    • Режим редактирования: READ_ONLY (поскольку Keycloak будет только читать данные пользователей, не изменяя их в AD).
    • Пользователи DN: Укажите путь к контейнеру с пользователями (например, CN=Users,DC=vitro,DC=intra).
    • Атрибут Username в LDAP: userPrincipalName.
    • Атрибут RDN в LDAP: cn.
    • Атрибут UUID в LDAP: objectGUID.
    • Классы объектов: person, organizationalPerson, user, email.

5. Нажмите Сохранить.



Этап 2: Создание и настройка OIDC-клиента для Vitro-CAD

После успешной настройки подключения к службе каталогов необходимо зарегистрировать само веб-приложение Vitro-CAD.

  1. Перейдите в раздел Клиенты и нажмите кнопку Create client.

2. Вкладка General settings:

    • Тип клиента (Client type): Выберите OpenID Connect.
    • ID клиента: Укажите произвольное наименование (к примеру, Vitro-web).
    • Нажмите Next.

3. Вкладка Capability config:

    • Аутентификация клиента (Client authentication): Включите тумблер (положение Вкл).
    • Авторизация (Authorization): Включите тумблер (положение Вкл).
    • Authentication flow: Обязательно отметьте чекбоксы Standard flow и Direct access grants.
    • Нажмите Next.

4. Вкладка Настройки (Login settings) созданного клиента:

    • Валидация URI перенаправления (Valid redirect URIs): Укажите URI возврата вашего приложения. Указанный в этом примере в качестве базового URL https://vitro.example.com замените адресом вашего портала Vitro-CAD. Полный Uri end point входа: https://vitro.example.com/signin-oidc
    • Web источники (Web origins): Укажите базовый URL приложения с маской подстановки (например, https://vitro.example.com/*).

5. Проверьте введенные данные и сохраните настройки.

На этом базовая конфигурация на стороне Keycloak завершена. Инфраструктура готова к обработке запросов авторизации от веб-приложения Vitro-CAD с проверкой учетных данных в корпоративном каталоге.
Со стороны веб-приложения Vitro-CAD настройка заключается в определении параметров подключения по OpenId в конфигурационном файле:
/Vitro/Server/Conf/openid.json. Если файла нет, то его нужно создать.
Параметры:
[
{
"Name": "Текст, который отображается на форме логина",
"AuthenticationScheme": "Уникальный код для схемы аутентификации",
"Authority": "адрес сервера OpenId",
"ClientId": "ID клиента",
"ClientSecret": "Секрет",
"ResponseType": "code",
"ScopeList": ["openid", "email"]
}
]
Пример настройки:
[
{
"Name": "Вход Keycloak",
"AuthenticationScheme": "LdapOpenId",
"Authority": "https://sso.example.com/realms/master",
"ClientId": "vitro-web",
"ClientSecret": "clientsecret12345",
"ResponseType": "code",
"ScopeList": ["openid", "email"]
}
]

  • No labels