Keycloak: отображение имени пользователя на предмете претензии - PullRequest
0 голосов
/ 19 июня 2019

Мне нужно настроить Keycloak так, чтобы он создавал JWT с утверждением «sub», заполненным именем пользователя, вместо идентификатора пользователя по умолчанию в sub.

Это означает, что вместо этого токена:

{
    "jti": "b1384883-9b59-4788-b09f-98b40b7e3c3b",
   ...
    "sub": "fbdb4e4a-6e93-4b08-a1e7-0b7bd08520a6",
    "preferred_username": "m123456"
}

Мне нужно получить:

 {
    "jti": "b1384883-9b59-4788-b09f-98b40b7e3c3b",
    ...
    "sub": "m123456",
    "preferred_username": "m123456"
 }

Не могли бы вы порекомендовать, как это сделать?

Я пытался сопоставить имя пользователя, но он добавляет второе утверждение "sub" и сJWT не является действительным.

1 Ответ

0 голосов
/ 19 июня 2019

Я решил таким образом.

1) В разделе «Клиенты» выберите своего клиента

2) Перейдите на вкладку «Mappers» и создайте новый «Script Mapper»

3) Откроется редактируемый раздел «Скрипт», внутри которого вы можете отредактировать следующую строку: token.setSubject(user.getUsername());

4) Теперь мой токен содержит "sub": "user123456"

5) Посмотрите на это изображение

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...