Протокол OIDC. Настройка взаимодействия с ADFS

Для работы механизма SSO-аутентификации в конфигурационном файле dbaccess.properties в параметре ru.naumen.core.authentication.authenticators необходимо добавить аутентификатор EXTERNAL.

Для выполнения единого входа с ADFS в качестве поставщика необходимо включить в приложении протокол HTTPs.

Настройка со стороны провайдера ADFS (AD Federation Service)

Добавление группы приложений

  1. На панели управления диспетчером серверов выберите "Средства" → "Управление AD FS".

    Откроется окно "AD FS".

  2. В меню "AD FS" выберите "Группы приложений". Для элемента "Группы приложений" откройте контекстное меню (правой кнопкой мыши) и выберите "Добавить группу приложений".

    Откроется окно "Мастер добавления групп приложений".

  3. В окне мастера (шаг "Приветствие") в поле "Имя" укажите имя приложения, в списке "Автономные приложения" выберите "Серверное приложение" и нажмите "Далее".

    Выполнится переход на следующий шаг мастера.

  4. В окне мастера (шаг "Приложение сервера") скопируйте и сохраните значение поля "Идентификатор клиента" (clientId), значение будет использовано при настройке аутентификации со стороны SMP.

    В поле "Перенаправить URI" добавьте Callback URL (https://sd-address/sd/callback) и нажмите "Далее".

    Выполнится переход на следующий шаг мастера.

  5. В окне мастера (шаг "Настроить учетные данные приложения") установите флажок в поле "Создать общий секрет", скопируйте и сохраните значение поля "Секрет" (clientSecret), значение будет использовано при настройке аутентификации со стороны SMP.

    Нажмите "Далее".

    Выполнится переход на следующий шаг мастера.

  6. В окне мастера на шаге "Сводка" нажмите "Далее", на шаге "Завершить" нажмите "Закрыть".

    Группа приложений добавлена.

Добавление приложения

  1. В меню "AD FS" выберите "Группы приложений". Наведите курсор на добавленную группу, откройте контекстное меню (правой кнопкой мыши) и выберите "Свойства".

    Откроется окно "Свойства".

  2. В окне "Свойства" выберите "Добавить приложение"

    Откроется окно добавления нового приложения.

  3. В окне добавления приложения (шаг "Приветствие") в поле "Шаблон" выберите "Веб-интерфейс API" и нажмите "Далее".

    Выполнится переход на следующий шаг мастера.

  4. В окне добавления приложения (шаг "Настройка веб-интерфейса") в поле "Идентификатор" добавьте значение: https://sd-address

    Нажмите "Далее". Выполнится переход на следующий шаг мастера.

  5. В окне добавления приложения (шаг "Применение политики управления доступом") в поле "Выберите политику управления доступом" выберите "Разрешение для каждого" и нажмите "Далее".

    Выполнится переход на следующий шаг мастера.

  6. В окне добавления приложения (шаг "Настроить разрешения для приложений") поле "Разрешенные области" содержит значение области (scope) по умолчанию: openid. Выберите дополнительные области при необходимости и нажмите "Далее".

    Выполнится переход на следующий шаг мастера.

  7. В окне добавления приложения на шаге "Сводка" нажмите "Далее", на шаге "Завершить" нажмите "Закрыть".

    Приложение добавлено.

  8. В окне "Свойства" нажмите "ОК".

    Настройка со стороны провайдера завершена.

Настройка со стороны SMP

  1. Создайте конфигурационный файл external-settings.xml, см. Пример структуры конфигурационного файла.

    В параметрах clientId и clientSecret укажите значения, сохраненные при настройке провайдера.

  2. Перезапустите SMP для включения нового типа аутентификации. В дальнейшем изменения конфигурационного файла можно применять в консоли SMP командой api.external.reloadConfig().