Keycloak добавляет дополнительные утверждения из базы данных/внешнего источника с помощью специального преобразователя пJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Keycloak добавляет дополнительные утверждения из базы данных/внешнего источника с помощью специального преобразователя п

Сообщение Anonymous »

Я видел эти два сообщения, которые дают решение этого вопроса, но они не предоставляют достаточно подробной информации о том, как это сделать для не-разработчиков Java, таких как я:

Keycloak добавляет дополнительные утверждения из базы данных/внешнего источника

Как зарегистрировать собственный протокол ProtocolMapper в Keycloak?

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

Ожидается процесс по первой ссылке

  • Пользователь входит в систему
  • Вызывается мой пользовательский преобразователь протоколов , где я перезаписываю метод TransformAccessToken
  • Здесь я регистрирую клиента, на котором находится сопоставитель протоколов, в keycloak как службу. Здесь не забудьте использовать другой идентификатор клиента
    вместо того, для которого вы создаете преобразователь протокола, в противном случае вы введете
    бесконечную рекурсию.
  • Я получаю токен доступа в сопоставитель протокола и вызываю остальную конечную точку моего приложения, чтобы получить дополнительные утверждения, которые
    защищены.
  • Получить информацию, возвращаемую конечной точкой и добавьте его в качестве дополнительных претензий.

Шаги для достижения этой цели из второй ссылки


Реализуйте интерфейс ProtocolMapper и добавьте файл
"META-INF/ Services/org.keycloak.protocol.ProtocolMapper", содержащий ссылку на класс.

На этом этапе Keycloak распознает новую реализацию. И вы
сможете настроить его через консоль администратора.

Чтобы добавить некоторые данные в токен, добавьте следующие интерфейсы

org.keycloak.protocol.oidc.mappers.OIDCAccessTokenMapper

и реализуйте методы в соответствии с интерфейсом< /p>

Затем добавьте файл «META-INF/jboss-deployment-structure.xml» с
следующим содержимым
И после всего этого специальный метод TransformAccessToken() вызывается
при каждом запросе к URL
http://:/auth/realms /testrealm/protocol/openid-connect/token


После прочтения у меня возникло несколько вопросов:
  • Как «реализовать ProtocolMapper»
  • Куда добавить файлы, упомянутые ранее? (не вижу каталога META-INF/ в папке установки Keycloak)
  • Как и где «добавлять следующие интерфейсы»
  • Как выглядит пользовательский TransformAccessToken()
Спасибо всем за уделенное время.
Дайте мне знать, если я пропущу обобщение своих ответов.

Изменить:

Я начинаю награду с надеждой, что кто-нибудь сможет дать мне подробные инструкции по добавлению дополнительных утверждений из базы данных в Keycloak 3.4.3 (достаточно подробно для разработчиков, не являющихся Java)

Редактировать 2
Описанный здесь метод может помочь, но не содержит подробностей.
Keycloak создает собственный преобразователь поставщика удостоверений

Подробнее здесь: https://stackoverflow.com/questions/530 ... protocol-m
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»