【发布时间】:2022-01-11 16:00:35
【问题描述】:
我想知道是否有办法通过 spring boot 中的 keycloak 库将 Broker 领域用户链接到提供者。
情况: 当我们通过领域提供商与用户登录时,keycloak 会识别他们在代理中的存在(或创建它们),然后向帐户链接发送一封电子邮件。 但是我使用 keycloak 的方式,我有一个服务负责创建这些来为应用程序定制它们。换句话说,当通过这个 SpringBoot 服务创建用户时,想法是检查领域提供者的存在并链接在代理中创建的用户。
问题: 是否可以通过编程方式将经纪人的帐户与提供商中的现有帐户相关联?
补充: 可以直接通过管理控制台添加链接,所以必须有一种方法可以通过编程来完成。
Image of manual creation of account link in admin console
我尝试使用 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);
【问题讨论】:
标签: java spring spring-boot keycloak