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

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

Настройка со стороны провайдера Keycloak

  1. В консоли администратора Keycloak создайте клиента.

  2. Заполните идентификатор клиента Client ID произвольным значением.

  3. Измените настройки клиента:

    • Client Protocol — openid-connect;
    • Access Type — confidential;
    • Authorization Enabled — On;
    • Valid Redirect URIs — https://smp.example.org/sd/*;
    • Base URL — https://smp.example.org/sd;
    • Backchannel Logout URL — https://smp.example.org/sd/logout;
    • Backchannel Logout Revoke Offline Sessions — On.

    Если указать Backchannel Logout URL и включить Backchannel Logout Revoke Offline Sessions, то разрыв сессии в провайдере будет разрывать сессию в SMP.

  4. Сохраните изменения.

  5. Обязательно на вкладке credentials перегенерируйте секретный ключ, нажав кнопку regenerate secret.

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

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

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