Протокол OIDC. Настройка взаимодействия с ADFS
Для работы механизма SSO-аутентификации в конфигурационном файле dbaccess.properties в параметре ru.naumen.core.authentication.authenticators необходимо добавить аутентификатор EXTERNAL.
Для выполнения единого входа с ADFS в качестве поставщика необходимо включить в приложении протокол HTTPs.
Настройка со стороны провайдера ADFS (AD Federation Service)
Добавление группы приложений
-
На панели управления диспетчером серверов выберите "Средства" → "Управление AD FS".
Откроется окно "AD FS".
-
В меню "AD FS" выберите "Группы приложений". Для элемента "Группы приложений" откройте контекстное меню (правой кнопкой мыши) и выберите "Добавить группу приложений".
Откроется окно "Мастер добавления групп приложений".
-
В окне мастера (шаг "Приветствие") в поле "Имя" укажите имя приложения, в списке "Автономные приложения" выберите "Серверное приложение" и нажмите "Далее".
Выполнится переход на следующий шаг мастера.
-
В окне мастера (шаг "Приложение сервера") скопируйте и сохраните значение поля "Идентификатор клиента" (clientId), значение будет использовано при настройке аутентификации со стороны SMP.
В поле "Перенаправить URI" добавьте Callback URL (https://sd-address/sd/callback) и нажмите "Далее".
Выполнится переход на следующий шаг мастера.
-
В окне мастера (шаг "Настроить учетные данные приложения") установите флажок в поле "Создать общий секрет", скопируйте и сохраните значение поля "Секрет" (clientSecret), значение будет использовано при настройке аутентификации со стороны SMP.
Нажмите "Далее".
Выполнится переход на следующий шаг мастера.
-
В окне мастера на шаге "Сводка" нажмите "Далее", на шаге "Завершить" нажмите "Закрыть".
Группа приложений добавлена.
Добавление приложения
-
В меню "AD FS" выберите "Группы приложений". Наведите курсор на добавленную группу, откройте контекстное меню (правой кнопкой мыши) и выберите "Свойства".
Откроется окно "Свойства".
-
В окне "Свойства" выберите "Добавить приложение"
Откроется окно добавления нового приложения.
-
В окне добавления приложения (шаг "Приветствие") в поле "Шаблон" выберите "Веб-интерфейс API" и нажмите "Далее".
Выполнится переход на следующий шаг мастера.
-
В окне добавления приложения (шаг "Настройка веб-интерфейса") в поле "Идентификатор" добавьте значение: https://sd-address
Нажмите "Далее". Выполнится переход на следующий шаг мастера.
-
В окне добавления приложения (шаг "Применение политики управления доступом") в поле "Выберите политику управления доступом" выберите "Разрешение для каждого" и нажмите "Далее".
Выполнится переход на следующий шаг мастера.
-
В окне добавления приложения (шаг "Настроить разрешения для приложений") поле "Разрешенные области" содержит значение области (scope) по умолчанию: openid. Выберите дополнительные области при необходимости и нажмите "Далее".
Выполнится переход на следующий шаг мастера.
-
В окне добавления приложения на шаге "Сводка" нажмите "Далее", на шаге "Завершить" нажмите "Закрыть".
Приложение добавлено.
-
В окне "Свойства" нажмите "ОК".
Настройка со стороны провайдера завершена.
-
Создайте конфигурационный файл external-settings.xml, см. Пример структуры конфигурационного файла.
В параметрах clientId и clientSecret укажите значения, сохраненные при настройке провайдера.
-
Перезапустите SMP для включения нового типа аутентификации. В дальнейшем изменения конфигурационного файла можно применять в консоли SMP командой api.external.reloadConfig().