2

我创建了一个用户存储提供程序,它通过外部数据库与keycloak连接,并成功获取用户和其他相关详细信息。同样,我试图从外部存储中获取与特定用户关联的组,以将它们填充到用户组页面中,主要是在生成令牌时。

我一直在尝试使用getGroups()UserFederatedStorageProvider 中的方法来执行此操作,但它不会从keycloak的任何地方调用,甚至在生成令牌时也不会调用。我已经在本地部署了keycloak并对其进行了测试。附上我的代码片段以供参考。

    @Override
    public Set<GroupModel> getGroups(RealmModel realm, String userId) {
        // TODO Auto-generated method stub
        HashSet<GroupModel> testGroup = new HashSet<GroupModel>();
        logger.info("IN GET GROUPS ----------" + userId);
        GroupModel group1 = new Groups();
        group1.setName("testGroup1");
        testGroup.add(group1);
        return testGroup;
    }

我正在使用 UserStorageProviderFactory,然后在我的 UserStorageProvider 类中,我正在为用户和凭据处理上的 CRUD 实现这些。正在为组实现的一个是 UserFederatedStorageProvider。

public class StorageProvider implements UserStorageProvider, 
    UserLookupProvider, 
    UserRegistrationProvider,
    UserQueryProvider,
    UserFederatedStorageProvider,
    CredentialInputUpdater, 
    CredentialInputValidator {
4

0 回答 0