Протокол OIDC. Настройка взаимодействия с Keycloak
Для работы механизма SSO-аутентификации в конфигурационном файле dbaccess.properties в параметре ru.naumen.core.authentication.authenticators необходимо добавить аутентификатор EXTERNAL.
Настройка со стороны провайдера Keycloak
-
В консоли администратора Keycloak создайте клиента.
-
Заполните идентификатор клиента Client ID произвольным значением.
-
Измените настройки клиента:
- 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.
-
Сохраните изменения.
-
Обязательно на вкладке credentials перегенерируйте секретный ключ, нажав кнопку regenerate secret.
Настройка со стороны SMP
-
Создайте конфигурационный файл external-settings.xml, см. Пример структуры конфигурационного файла.
-
Перезапустите SMP для включения нового типа аутентификации. В дальнейшем изменения конфигурационного файла можно применять в консоли SMP командой api.external.reloadConfig().