Платформа 3V/Права доступа/Настройка значений атрибута пользователя в KeyCloak: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
(Новая страница: «== Настройка значений атрибута пользователя в KeyCloak == # В Keycloak выбираем в блоке "Manage" пункт...»)
 
Строка 1: Строка 1:
== Настройка значений атрибута пользователя в KeyCloak ==
+
Для корректной работы пользовательского атрибута необходимо настроить маппинг атрибутов в KeyCloak.
 
+
Настроить маппинг можно в пункте меню "Clients" в блоке "Configure". На странице "Clients" следует выбрать пункт "Corp-engine" и перейти на вкладку "Mappers".<br>
# В Keycloak выбираем в блоке "Manage" пункт "Users".
+
[[Файл:11.png|1000px|слева]]<br clear="both" /><br>
# Выбираем нужного пользователя.
+
Или в пункте меню "Client Scopes" в блоке "Configure". На странице "Client Scopes" следует выбрать пункт "Profile" и перейти на вкладку "Mappers".
# Во вкладке пользователя выбираем вкладку "Attributes".
+
[[Файл:66.png|1000px|слева]]<br clear="both" /><br>
# Добавляете атрибут и его значение.
+
Для создания нового маппинга нажмите кнопку Create
# Необходимо убедиться, что для атрибута есть маппер в KeyCloak (1. Clients, Corp-engine, Mappers или 2. Client Scopes, Profile, Mappers)
+
[[Файл:22.png|1000px|слева]] <br clear="both" /><br>
 
+
Далее на странице Create Protocol Mapper заполните все необходимые поля:
[[Файл:Настройка значений атрибута пользователя в KeyCloak.png|left|text-bottom|600px|thumb|Настройка значений атрибута пользователя в KeyCloak]]
+
[[Файл:33.png|1000px|слева]]<br clear="both" /><br>
 +
*Name - Наименование.
 +
*Mapper Type - Тип маппинга, для настройки пользовательских атрибутов используется '''User Attribute'''.
 +
*User Attribute - Имя сохраненного пользовательского атрибута, которое является именем атрибута в карте UserModel.attribute. (в пункте меню "User"/"Groups" вкладка "Attributes" - [https://medium.com/@ravthiru/keycloak-retrieve-custom-attributes-in-access-token-1a2d5aef0caa Настройка пользовательского атрибута в Keycloak]<br> )
 +
*Token Claim Name - значение, которое нужно вставить в токен.
 +
*Claim JSON Type - Тип JSON, который следует использовать для заполнения значения json в токене. Допустимые значения long, int, boolean, String и JSON.
 +
*Multivalued - Указывает, поддерживает ли атрибут несколько значений. Если true, будет использован список всех значений этого атрибута. Если false,будет использоваться только первое значение.
 +
*Aggregate attribute values - Указывает, следует ли агрегировать значения атрибутов с атрибутами группы.
 +
'''После сохранения поля Name и Mapper Type невозможно будет изменить.'''

Версия 07:17, 23 ноября 2021

Для корректной работы пользовательского атрибута необходимо настроить маппинг атрибутов в KeyCloak. Настроить маппинг можно в пункте меню "Clients" в блоке "Configure". На странице "Clients" следует выбрать пункт "Corp-engine" и перейти на вкладку "Mappers".

11.png



Или в пункте меню "Client Scopes" в блоке "Configure". На странице "Client Scopes" следует выбрать пункт "Profile" и перейти на вкладку "Mappers".

66.png



Для создания нового маппинга нажмите кнопку Create

22.png



Далее на странице Create Protocol Mapper заполните все необходимые поля:

33.png



  • Name - Наименование.
  • Mapper Type - Тип маппинга, для настройки пользовательских атрибутов используется User Attribute.
  • User Attribute - Имя сохраненного пользовательского атрибута, которое является именем атрибута в карте UserModel.attribute. (в пункте меню "User"/"Groups" вкладка "Attributes" - Настройка пользовательского атрибута в Keycloak
    )
  • Token Claim Name - значение, которое нужно вставить в токен.
  • Claim JSON Type - Тип JSON, который следует использовать для заполнения значения json в токене. Допустимые значения long, int, boolean, String и JSON.
  • Multivalued - Указывает, поддерживает ли атрибут несколько значений. Если true, будет использован список всех значений этого атрибута. Если false,будет использоваться только первое значение.
  • Aggregate attribute values - Указывает, следует ли агрегировать значения атрибутов с атрибутами группы.

После сохранения поля Name и Mapper Type невозможно будет изменить.