Добавление сопоставлений#
При создании клиента можно добавить следующие встроенные сопоставления:
Название мэппера в KeyCloak.SE |
Названия поля в токене |
Название поля в профиле пользователя |
|---|---|---|
Встроенные |
— |
— |
full name |
name |
Имя + Фамилия |
gender |
gender |
Атрибут gender |
middle name |
middle_name |
Атрибут middleName |
allowed web origins |
allowed web origins |
- |
address |
address |
- |
family name |
family_name |
Фамилия |
profile |
profile |
Атрибут profile |
picture |
picture |
Атрибут picture |
Client IP Address |
clientAddress |
- |
upn |
upn |
Имя пользователя |
updated at |
updated_at |
Атрибут updatedAt |
birthdate |
birthdate |
Атрибут birthdate |
phone number verified |
phone_number_verified |
Атрибут phoneNumberVerified |
zoneinfo |
zoneinfo |
Атрибут zoneinfo |
website |
website |
Атрибут website |
gss delegation credential |
gss_delegation_credential |
- |
Impersonator Username |
impersonator.username |
- |
username |
preferred_username |
Имя пользователя |
nickname |
nickname |
Атрибут nickname |
given name |
given_name |
Имя |
Client ID |
clientId |
- |
Client Host |
clientHost |
- |
email verified |
email_verified |
Подтверждение E-mail |
Impersonator User ID |
impersonator.id |
- |
locale |
locale |
Язык |
phone number |
phone_number |
Атрибут phoneNumber |
Внутренний E-mail |
||
audience resolve |
audience resolve |
- |
groups |
groups |
- |
client roles |
resource_access |
Роли интегрированных систем, назначенные пользователю |
realm roles |
realm_access |
Роли реалма, назначенные пользователю |
При создании клиента можно добавить следующие сопоставления:
Название мэппера в KeyCloak.SE |
Названия поля в токене |
Название поля в профиле пользователя |
|---|---|---|
Claims parameter Token |
Зависит от настройки mapper |
Имя + Фамилия, Фамилия, Имя пользователя, Внутренний E-mail ("name", "given_name", "family_name", "preferred_username", "email") |
User Realm Role |
Зависит от настройки mapper |
Пользовательские роли реалма |
ESIA Info Mapper |
Зависит от настройки mapper |
Mapper for ESIA user info |
User Session Note |
Зависит от настройки mapper |
Добавить user session note в SAML аттрибуты (для SAML протокола) либо добавить текущую user session note в поле токен |
User Address |
Зависит от настройки mapper |
Добавить атрибуты отвечающие за адрес пользователя (street, locality, region, postal_code, и country) в поле OpenID Connect 'address' |
Role Name Mapper |
Зависит от настройки mapper |
Задать существующей роли новое имя в токене |
User Client Role |
Зависит от настройки mapper |
Клиентские роли пользователя |
User Property |
Зависит от настройки mapper |
Имя свойства в интерфейсе UserModel.class. Для примера, значение 'email' будет ссылкой на метод ExtendedUserModel.getEmail() |
Hardcoded Role |
Зависит от настройки mapper |
Вшитая роль в access_token |
Hardcoded claim |
Зависит от настройки mapper |
Вшитое поле в токен |
Pairwise subjeсt identifier |
Зависит от настройки mapper |
Вычисляет попарный идентификатор субъекта, используя хэш sha-256 с солью. Смотрите спецификацию OpenID Connect для получения дополнительной информации о попарных идентификаторах объектов |
User's full name |
Зависит от настройки mapper |
Полное имя пользователя в поле 'name' OpenID Connect 'name'. Формат |
Allowed Web Origins |
Зависит от настройки mapper |
Добавить все allowed web origins в 'allowed-origins' поле токена |
Audience |
Зависит от настройки mapper |
Add specified audience to the audience (aud) field of token |
*User Attribute |
Зависит от настройки mapper |
Атрибуты пользователя |
Group Membership |
Зависит от настройки mapper |
Группы, которым принадлежит пользователь |
Audience Resolve |
Зависит от настройки mapper |
Adds all client_ids of "allowed" clients to the audience conditions in the assertion. Allowed client means any SAML client for which user has at least one client role |
Extended User Property |
Зависит от настройки mapper |
Имя свойства в интерфейсе ExtendedUserModel.class. Для примера, значение 'email' будет ссылкой на метод ExtendedUserModel.getEmail() |
Script Mapper |
Зависит от настройки mapper |
JavaScript код, который возвращает значение поля |
При создании IDP можно задать следующие сопоставления:
Название мэппера в KeyCloak.SE |
Названия поля в токене |
Название поля в профиле пользователя |
|---|---|---|
Advanced Claim to Group |
Зависит от настройки mapper |
Если все поля существуют, то добавить пользователя в конкретную группу |
Hardcoded User Session Attribute |
Зависит от настройки mapper |
Сохранить сессию пользователя, пришедшую от провайдера в конкретный user session атрибут |
Attribute Importer |
Зависит от настройки mapper |
Импортировать информацию о профиле пользователя, если она существует в JSON данный поставщика социальных сетей, в заданный атрибут пользователя (для OpenID Connect) либо импортировать заданные saml атрибуте, если они заданы, в заданный атрибут пользователя или свойство. |
External Role to Role |
Зависит от настройки mapper |
Сопоставить внешней роли конкретную роль клиента либо реалм |
Advanced Claim to Role |
Зависит от настройки mapper |
Если все поля существуют, то добавить пользователю конкретную роль реалма либо клиента |
Hardcoded Role |
Зависит от настройки mapper |
Вшить роль в конкретный атрибут access_token (для OpenID Connect) либо SAML ответ |
Claim to Role |
Зависит от настройки mapper |
Если поле существует, то добавить пользователю конкретную роль реалма либо клиента |
Hardcoded Attribute |
Зависит от настройки mapper |
Когда пользователь импортирует из провайдера, вшить данные в конкретный атрибут пользователя (для OpenID Connect) для либо в SAML ответ |
Username Template Importer |
Зависит от настройки mapper |
Формат username для импорта |
Extended Attribute Mapper (SberTech version) |
Зависит от настройки mapper |
Значение поля расширенного объекта пользователя (ExtendedUserModel.class). Например, middleName → вызовет метод ExtendedUserModel.getMiddleName(). active → вызовет метод ExtendedUserModel.isActive(). |
*Для передачи в токен массив атрибутов пользователя необходимо настроить созданный mapper c типом сопоставления User Attribute для OIDC клиента:
Тип переменной JSON - String;
Несколько значений - ВКЛ; Пример итоговой конфигурации:

На вкладке Атрибуты пользователя задать значение для атрибута. Для передачи массива значений в токен, необходимо использовать разделитель ##. При использовании этого разделителя, массив корректно формируется и в токене, в строке значений аттрибута, отображается через запятую (для примера: "test": ["test1","test2"]).