Настройка авторизации.
Создаем новый realm или в существующем идем в список клиентов и создаем нового. Вводим уникальный ID клиента и его имя.

Включаем авторизацию

Задаем url адрес логин центра

далее нам понадобятся Credentials

И адреса соединения с сервером keycloak. Для их получения идем в настройки realm'а (Realm settings) и на первой вкладке General внизу переходим по ссылке OpenID Endpoint Configuration

Идем в админке логин центра в настройки Urls (Config / urls)

Описание параметров:
Сохраняем.
Идем в Config / authentication. Добавляем в секции oauth.drivers новый драйвер авторизации и заполняем его поля.


Параметр redirect_uri формируется как адрес_логин_центра/oauth/oaut-unicuq-name То есть на скрине. Логин центр находится по адресу https://ans-lc.optimacros.com а unique name мы в настройках ранее задали как keycloak. Тогда этот параметр у нас примет вид redirect_uri=https://ans-lc.optimacros.com/oauth/oauth-keycloak
Теперь открываем OpenID Endpoint Configuration в KeyCloak
AUTHENTICATION CALLBACK URL: в начале содержит authorization_endpoint из параметров realms OpenID Endpoint Configuration. Далее идет фиксированная часть одинаковая для всех содержащая параметры авторизации. ?state={state}&client_id={clientId}&response_type=code&scope=openid%20profile%20email&include_granted_scopes=true& и оканчивается полученным ранее параметром redirect_uri В примере на скрине приведено полученное значение https://keycloack.optimacros.com/realms/optimacros_realm/protocol/openid-connect/auth?state={state}&client_id={clientId}&response_type=code&scope=openid%20profile%20email&include_granted_scopes=true&redirect_uri=https://ans-lc.optimacros.com/oauth/oauth-keycloak
ACCESS TOKEN CALLBACK URL: равно параметру token_endpoint из параметров realms OpenID Endpoint Configuration
USER TOKEN CALLBACK URL: равно параметру userinfo_endpoint из параметров realms OpenID Endpoint Configuration
USER DETAILS HEADER: просто вводим Authorization: Bearer {access_token}
ACCESS TOKEN POST PARAMETERS: в начале содержит общую часть code={code}&client_id={clientId}&client_secret={clientSecret}&grant_type=authorization_code& и оканчивается так же строкой с параметром redirect_uri На примере выше code={code}&client_id={clientId}&client_secret={clientSecret}&grant_type=authorization_code&redirect_uri=https://ans-lc.optimacros.com/oauth/oauth-keycloak
Ниже вносим параметры сопоставления атрибутов пользователя в keycloak и логин центре.

Эти параметры будут использованы при первом входе пользователя в логин центре для заполнения полей профиля в логин центре.
По умолчанию вход в логин центр происходит через логи пароль пользователя логин центра. Прочие способы входа доступны на странице логина через Other ways to sign in

Для задания другого способа входа идем в раздел Config Urls и меняем значение поля Default driver

Значение параметра Default driver должно соответствовать имени одного из драйверов аутентификации (usernamePassword, saml-имя, activedirectory-имя, oauth-имя и т. д., где «имя» — это установленное Unique name в Config / Authentication
В данном случае мы задали Unique name как keycloak и мы добавляли oauth drivers. Поэтому значение этого поля будет oauth-keycloak
Если установить oauth как предпочтительный способ входа, после входа пользователя по адресу логин центра, он будет сразу перенаправлен на форму авторизации в keycloak. (или сразу в логин центр если был ранее авторизован в других сервисах) Выбор других способов входа становится недоступен. Поэтому пользователи, которые входят через учетные данные в логин центре должны входить по полной ссылке на форму авторизации в ЛЦ.
https://адрес_логин_центра/username
После внесения изменений в работу авторизации логин центра, не все настройки могут применится без перезапуска логин центра. Поэтому по окончании настроек требуется его перезапуск. Для этого подключаемся к серверу логин центра по ssh. Входим в каталог установленного логин центра и выполняем последовательно
В предыдущих версиях использовалась команда om
./manage stop
./manage start