Связывание учетных записей Keycloak с помощью Spring Boot

#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:

Ну, есть возможность сделать это автоматически уже в конфигурации потока аутентификации