mirror of
https://github.com/keycloak/keycloak.git
synced 2026-07-25 18:26:11 +00:00
Closes: https://github.com/keycloak/keycloak/issues/47985 Signed-off-by: Michal Vavřík <michal.vavrik@aol.com>
81 lines
2.0 KiB
Plaintext
81 lines
2.0 KiB
Plaintext
<#import "/templates/guide.adoc" as tmpl>
|
|
<#import "/templates/kc.adoc" as kc>
|
|
<#import "/templates/api.adoc" as api>
|
|
<#import "/templates/links.adoc" as links>
|
|
|
|
<@tmpl.guide
|
|
title="Admin API v2: Reference"
|
|
summary="REST API for managing Keycloak resources. Experimental feature.">
|
|
|
|
<#include "/templates/experimental-feature.adoc">
|
|
|
|
To provide feedback, use the https://github.com/keycloak/keycloak/discussions/50186[Client Admin API v2] GitHub Discussion.
|
|
|
|
== Prerequisites
|
|
|
|
The Admin API v2 requires the `client-admin-api:v2` feature:
|
|
|
|
<@kc.start parameters="--features=client-admin-api:v2"/>
|
|
|
|
== Client Setup
|
|
|
|
=== Java
|
|
|
|
Add the dependency to your project:
|
|
|
|
[source,xml]
|
|
----
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-admin-client</artifactId>
|
|
</dependency>
|
|
----
|
|
|
|
[source,java]
|
|
----
|
|
import org.keycloak.admin.client.Keycloak;
|
|
|
|
Keycloak adminClient = Keycloak.getInstance("http://localhost:8080", "master", "admin", "password", "admin-cli");
|
|
----
|
|
|
|
=== JavaScript
|
|
|
|
[source,bash]
|
|
----
|
|
npm install @keycloak/keycloak-admin-client
|
|
----
|
|
|
|
[source,javascript]
|
|
----
|
|
import KcAdminClient from "@keycloak/keycloak-admin-client";
|
|
|
|
const kcAdminClient = new KcAdminClient({ baseUrl: "http://localhost:8080", enableExperimentalApis: true });
|
|
await kcAdminClient.auth({ username: "admin", password: "admin", grantType: "password", clientId: "admin-cli" });
|
|
----
|
|
|
|
=== CLI
|
|
|
|
The Admin API v2 uses the same CLI tool described in the {adminguide_link}#admin-cli[{adminguide_name}] with the `--v2` flag:
|
|
|
|
<@kc.admin parameters="--v2 config credentials --server http://localhost:8080 --realm master --user admin"/>
|
|
|
|
== Available Resources
|
|
|
|
For details on filtering and projection, see <@links.adminapi id="querying" />.
|
|
|
|
<#if ctx.adminApiV2.hasEndpoints()>
|
|
<#list ctx.adminApiV2.categories as category>
|
|
=== ${category?cap_first}
|
|
|
|
<@api.endpoints category=category/>
|
|
</#list>
|
|
|
|
== Models
|
|
|
|
<@api.schemas/>
|
|
<#else>
|
|
Admin API v2 documentation metadata is not available in this build.
|
|
</#if>
|
|
|
|
</@tmpl.guide>
|