7.9.2. ImportSynchronization 接口
使用导入策略时,您可以看到本地用户复制可以与外部存储不同步。例如,一个用户已从外部存储中删除。User Storage SPI 有一个额外的接口,您可以实现处理这个接口 org.keycloak.storage.user.ImportSynchronization :
package org.keycloak.storage.user;
public interface ImportSynchronization {
SynchronizationResult sync(KeycloakSessionFactory sessionFactory, String realmId, UserStorageProviderModel model);
SynchronizationResult syncSince(Date lastSync, KeycloakSessionFactory sessionFactory, String realmId, UserStorageProviderModel model);
}
这个接口由供应商工厂实现。当此接口由供应商工厂实现后,供应商的管理控制台管理页面会显示其他选项。您可以点击按钮来手动强制同步。这会调用 ImportSynchronization.sync () 方法。另外,会显示额外的配置选项,供您自动调度同步。自动同步调用 syncSince () 方法。