Во-первых, я хорошо знаком с многообластным подходом к многопользовательскому режиму в Keycloak.Я взял на себя устаревший проект, в котором никто не думал о мультитенантности.Теперь, два года спустя, внезапно, клиенту нужна эта функция.На самом деле, микросервисы готовы к этому сценарию "из коробки".
Заказчик разрабатывает мобильное приложение, которое аутентифицирует пользователей через API на нашем экземпляре keycloak с номером учетной записи (в качестве имени пользователя) и паролем.Теперь он хотел бы добавить идентификатор арендатора к информации для входа в систему.
Заказчик хочет избежать использования нескольких конечных точек, поскольку для этого потребуется решение с несколькими областями.
Одна из первых идей состояла в том, чтобыпросто объедините tenant-id и account-id при регистрации.Но это вонючий подход.
Итак, я думал, что может быть способ настроить Keycloak таким образом, чтобы я добавил пользовательское поле tenantid
вместе с username
, которое действует как составной первичный ключ в мире баз данных.
Возможна ли такая конфигурация?Есть ли другой способ достижения многопользовательского поведения с использованием одной области?