#java #spring #spring-boot #keycloak
#Ява #весна #пружинный ботинок #брелок для ключей
Вопрос:
Мне было интересно, есть ли способ связать пользователя области брокера с поставщиком через библиотеку ключей в spring boot.
Ситуация: Когда мы входим в систему с пользователем через поставщика области, keycloak идентифицирует их существование в брокере (или создает их), а затем отправляется электронное письмо по ссылке учетные записи. Но так как я использую keycloak, у меня есть служба, ответственная за их создание, чтобы настроить их для приложения. Другими словами, когда пользователь создается с помощью этой службы SpringBoot, идея состоит в том, чтобы проверить существование поставщика области и связать пользователя, созданного в брокере, там.
Вопрос: Можно ли программно связать учетную запись брокера с существующей в провайдере?
Дополнительно: ссылку можно добавить непосредственно через консоль администратора, поэтому должен быть способ сделать это программно.
Изображение ссылки на ручное создание учетной записи в консоли администратора
Я попытался использовать метод setSocialLinks или метод setFederatedIdentities, но, похоже, это не работает.
FederatedIdentityRepresentation federatedIdentity = new FederatedIdentityRepresentation(); federatedIdentity.setIdentityProvider(super.getProviderRealmName()); federatedIdentity.setUserId(providerUserId); federatedIdentity.setUserName(user.getUsername()); user.setFederatedIdentities(Collections.singletonList(federatedIdentity)); Response brokerResult = brokerUserResource.create(user);
Ответ №1:
Ну, есть возможность сделать это автоматически уже в конфигурации потока аутентификации