Настройка интеграции по OIDC
Чтобы интегрировать Keycloak как внешний IDP-провайдер:
- Войдите в Keycloak.
- Перейдите в раздел Clients.
- Создайте или выберите для настройки существующее приложение Client. Откроется страница настройки приложения.
- Активируйте переключатель Client authentication в подразделе Capability config.
- Введите значение
https://salutejazz.ru/*
в поля редиректов Valid redirect URLs и Valid post logout redirect URLs в подразделе Login settings. - Перейдите на вкладку Advanced и активируйте использование refresh-токенов с помощью переключателя Use refresh tokens.
- Перейдите на вкладку Credentials и скопируйте Client ID и Client Secret из соответствующих полей.
- Перейдите на вкладку Realm settings, найдите в разделе Endpoints ссылку на OpenID Endpoint Configuration и скопируйте ее. Это ссылка на Discovery endpoint.
- Передайте адрес домена, Discovery endpoint, Client ID и Client secret сотрудникам службы внедрения.
По умолчанию выход из SaluteJazz не приведет к завершению сессии в IDP-провайдере. Чтобы настроить завершение сессии пользователя на стороне IDP-провайдера, сообщите об этом сотруднику внедрения.
Добавление скоупов
Если на стороне IDP-провайдера используется кастомный scope
, который нужен в токене, необходимо передать его название сотруднику службы внедрения. По умолчанию SaluteJazz запрашивает только скоуп openid
. Проверить возвращаемые данные (их состав зависит от передаваемых скоупов) можно на странице Clients > Client > Client scopes.
Передача кастомных параметров
Если на стороне IDP-провайдера используется кастомный параметр, который нужен в токене, необходимо передать его название и тип сотруднику службы внедрения.
Чтобы передавать отчество пользователя в токены:
- Перейдите в настройки области видимости клиента Client Scopes.
- Найдите область видимости Profile.
- Включите атрибут
middleName
в список передаваемых атрибутов.
-
Mapper type — user attribute;
-
User attribute — middleName;
-
Token claim name — middleName.
И включите переключатели:
- Add to ID token
- Add to access token
- Add to userinfo
- Add to introspection.