Минимальная полезная нагрузка токена jwt с клавиатурой - PullRequest
0 голосов
/ 21 октября 2019

В моей компании мы пытаемся использовать Keycloak для создания токена jwt с минимальной полезной нагрузкой, выполняющей только роль пользователя, адрес электронной почты и срок действия токена. Мы должны использовать эту минимальную полезную нагрузку, потому что у нас есть ограничение производительности, которое я не хочу объяснять дальше.

Возможно ли это? и как?

Мы используем Keycloak v7.0.0 и пробовали разные вещи с мапперами, чтобы без успеха раскрыть только то, что нам нужно.

Редактировать: удаляя все в области видимости по умолчанию, я все ещемного мне не нужно

{
  "jti": "ac6f9ed1-e33b-4204-affc-c5992c600ead",
  "exp": 1571741519,
  "nbf": 0,
  "iat": 1571741219,
  "iss": "http://keycloak:8080/auth/realms/test",
  "sub": "c530d809-fabf-44a7-b186-1d095321edf7",
  "typ": "Bearer",
  "azp": "web_app",
  "auth_time": 0,
  "session_state": "83ce24ff-9e2f-4775-ae2c-066935b7ffa9",
  "acr": "1",
  "scope": "openid"
}

Мне бы хотелось, чтобы полезная нагрузка выглядела следующим образом

{
 "exp": 1571741519,
 "email": "john@doe.com"
 "groups": ["ROLE_USER"]
}

Я ищу добавление аутентификатора SPI

Ответы [ 2 ]

0 голосов
/ 23 октября 2019

Добавив скрипт-маппер, мы можем удалить много информации из полезной нагрузки.

token.setIssuer(null)

удаляет ключ iss

token.notBefore(null)

установить ключ nbf равным 0

Вы можете посмотреть токен JavaDoc для получения дополнительной информации о том, что можно изменить.

0 голосов
/ 22 октября 2019

Вы должны удалить все, кроме role и role_list из областей клиента по умолчанию. enter image description here

...