Получите контроль после аутентификации пользователя для отправки измененных данных пользователя - PullRequest
3 голосов
/ 30 апреля 2019

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

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

Например, у Стивена Кларка есть рабочий адрес электронной почты stephen.clark@jourrapide.com и личный адрес электронной почты stephen.c@armyspy.com. Он аутентифицируется с помощью Keycloak. После аутентификации сторонний сервис хотел бы запросить дополнительную информацию о Стивене. Мы хотели бы отправить информацию стороннему сервису на основе определенных пользовательских настроек. Например, если Стивен использует свой рабочий профиль, наше приложение должно отправить stephen.clark@jourrapide.com по электронной почте стороннему сервису. Но stephen.c@armyspy.com электронное письмо должно быть отправлено для личного профиля Стивена. То же самое должно быть сделано для других пользовательских данных.

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

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

  1. Используйте «Поток входа в систему» ​​в Keycloak.
  2. Создание собственного провайдера идентификации в Keycloak.
  3. Используйте функциональность Impersonate пользователя в Keycloak с REST API для переключения на нужного пользователя.
...