Изучение параметров конфигурации Keycloak Protocol Mapper: подробное руководство

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

Понимание сопоставителей протоколов Keycloak.
Сопоставители протоколов в Keycloak позволяют сопоставлять атрибуты и роли пользователей от внешних поставщиков удостоверений (IDP) с токенами, выпущенными Keycloak. Это позволяет вам обогащать токены дополнительной информацией, которая может использоваться вашими приложениями.

Поиск документации:
Чтобы получить доступ к документации по параметрам конфигурации преобразователя протокола Keycloak, вы можете обратиться к официальной документации Keycloak. В документации представлена ​​подробная информация о каждом сопоставителе протокола и доступных параметрах его конфигурации. Чтобы убедиться в точности, рекомендуется ознакомиться с документацией, относящейся к вашей версии Keycloak.

Общие параметры конфигурации сопоставителя протоколов:
Давайте рассмотрим некоторые из часто используемых параметров конфигурации сопоставителя протоколов в Keycloak:

  1. Имя утверждения:
    Параметр «имя утверждения» позволяет указать имя утверждения, которое будет включено в токен. Например, если вы хотите включить адрес электронной почты пользователя в качестве утверждения в токен, вы можете установить имя утверждения как «электронная почта».

Пример кода:

ProtocolMapperModel mapper = new ProtocolMapperModel();
mapper.setConfig("claim.name", "email");
  1. Атрибут пользователя:
    Опция «Атрибут пользователя» позволяет вам выбрать атрибут из профиля пользователя, который должен быть включен в токен. Это могут быть такие атрибуты, как имя пользователя, имя, фамилия или любые пользовательские атрибуты, которые вы определили.

Пример кода:

ProtocolMapperModel mapper = new ProtocolMapperModel();
mapper.setConfig("user.attribute", "username");
  1. Тип утверждения токена.
    Опция «Тип утверждения токена» определяет тип значения утверждения в токене. Ему может быть присвоено значение «строка», «логическое значение» или «длинный». Это позволяет вам определить тип данных значения утверждения.

Пример кода:

ProtocolMapperModel mapper = new ProtocolMapperModel();
mapper.setConfig("token.claim.type", "string");
  1. Многозначный:
    Параметр «Многозначный» указывает, следует ли рассматривать атрибут как многозначный. Если установлено значение true, атрибут может иметь несколько значений.

Пример кода:

ProtocolMapperModel mapper = new ProtocolMapperModel();
mapper.setConfig("multivalued", "true");
  1. Требование токена.
    Опция «заявление токена» позволяет вам определить статическое значение утверждения в токене. Это может быть полезно, если вы хотите включить в токен фиксированное значение.

Пример кода:

ProtocolMapperModel mapper = new ProtocolMapperModel();
mapper.setConfig("token.claim", "admin");

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