java - 如何解决keycloak中类加载器不可见的接口
问题描述
使用 keycloak 管理客户端依赖项从 keycloak 获取组,该依赖项在module.xml
. 但是出现错误,例如
java.lang.IllegalArgumentException:接口 org.keycloak.admin.client.resource.RealmsResource 在类加载器中不可见
我正在处理事件监听器 sysout 项目
Keycloak keycloak = Keycloak.getInstance("http://localhost:8080/auth", "nodesjs-example", "admin-cli", token);
List<GroupRepresentation> groupRepresentation2= keycloak.realm("nodejs-example").groups().groups();
System.out.println(groupRepresentation2);
解决方案
现在我知道你在做什么了。不需要管理员客户端,您可以从 KeycloakSession 中获取(在EventListenerProviderFactory
创建中可用)
@Override
public EventListenerProvider create(KeycloakSession session) {
return new SysoutEventListenerProvider(excludedEvents, excludedAdminOperations,session);
}
然后在您的 EventListenerProvider 中,您可以获得组。
RealmModel realm = session.getContext().getRealm();
List<GroupModel> groups = realm.getGroups();
推荐阅读
- sql - 插入中的VBA SQL错误
- postgresql - Postgresql - 不区分大小写的构建,允许所有 where、连接、分组等不区分大小写
- c# - 更改配置文件中的值c#
- ruby - 在 Ruby 中创建动态函数
- python - Pandas 处理精度为 00 的行为
- javascript - 当我点击它时,ng-href 除了更新链接或地址栏外没有响应(Angular Js)
- vba - VBA Application.run“此工作簿”属性语法
- python - AttributeError:“列表”对象没有属性“to_hdf”
- ruby-on-rails - Rails has_one 与多态关联
- javascript - 每次点击后如何使图像变小?