我正在尝试在我的 Keycloak 服务器上创建一个自定义资源来扩展它的其余 API。所以我正在实施一个SPI。从你好世界开始。
目前我的目标是通过http://localhost:8080/auth/admin/realms/myRealm/hello上的 GET 获取“hello”+ 名称
我使用 Postman 请求服务器。我能够在 myRealm 上获得用户令牌。我选择了一个我View-users在realm-managmentMapper 中为其分配了角色的用户。
所以内置的 Keycloak Admin API 可以工作。例如:http://localhost:8080/auth/admin/realms/myRealm/users/count 返回预期的用户数。
但问题是我在请求此端点时收到“错误”:“RESTEASY003210:找不到完整路径的资源:http://localhost:8080/auth/admin/realms/myRealm/hello/ ”。
这是我的设置(我阅读了几篇指南):
模块项目的 pom.xml 包含对 keycloak-core keycloak-server-spi keycloak-server-spi-private org.jboss.spec.javax.ws.rs
RealmResourceProvider 实现:
public class HelloWorldProvider implements RealmResourceProvider {
private KeycloakSession session;
public HelloWorldProvider(KeycloakSession session) {
this.session = session;
}
@Override
public Object getResource() {
return this;
}
@GET
@Path("/hello")
@Produces("text/plain; charset=utf-8")
public String get() {
String name = session.getContext().getRealm().getDisplayName();
if (name == …Run Code Online (Sandbox Code Playgroud)