第13章 Red Hat build of Keycloak 管理クライアント


Red Hat build of Keycloak 管理クライアントを使用して、Red Hat build of Keycloak 管理 REST API にアクセスします。

Red Hat build of Keycloak 管理クライアントは、Red Hat build of Keycloak 管理 REST API へのアクセスと使用を容易にする Java ライブラリーです。このライブラリーは実行時に Java 11 以上を必要とします (この要件は RESTEasy 依存関係により強制されます)。アプリケーションからこれを使用するには、keycloak-admin-client ライブラリーへの依存関係を追加します。たとえば、Maven を使用する場合は以下を実行します。

<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-admin-client</artifactId>
    <version>999.0.0-SNAPSHOT</version>
</dependency>

次の例は、Java クライアントライブラリーを使用してマスターレルムの詳細を取得する方法を示しています。

import org.keycloak.admin.client.Keycloak;
import org.keycloak.representations.idm.RealmRepresentation;
...

Keycloak keycloak = Keycloak.getInstance(
    "http://localhost:8080",
    "master",
    "admin",
    "password",
    "admin-cli");
RealmRepresentation realm = keycloak.realm("master").toRepresentation();

管理クライアントの完全な Javadoc は、API ドキュメント で入手できます。

13.1. Red Hat build of Keycloak サーバーとの互換性

Red Hat build of Keycloak の管理クライアントは、Red Hat build of Keycloak サーバーの複数のバージョンで動作することを目的としています。管理クライアントは、クライアントより後にリリースされた Red Hat build of Keycloak サーバーの新しいバージョンと、以前にリリースされた Red Hat build of Keycloak サーバーの古いバージョンでサポートされる場合があります。この変更の結果、要求/応答本体の JSON プロパティーを表す基礎となる「表現」クラス (前のセクションで示した RealmRepresentation クラスなど) の Java フィールドは、クライアントとサーバーでまったく同じにならない可能性があります。

互換性の問題を回避するには、管理クライアントによって内部的に使用される com.fasterxml.jackson.databind.ObjectMapper クラスが、次の 2 つのプロパティーで初期化されていることを確認します。

objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

上記のように管理クライアント作成の基本的な方法を使用している場合、管理クライアントはデフォルトで org.keycloak.admin.client.JacksonProvider クラスを使用して ObjectMapper を作成し、これらのプロパティーが自動的に追加されるため、これらのプロパティーはデフォルトで追加されます。ただし、Keycloak オブジェクトを作成するときに独自の customJacksonProvider を注入する場合は、互換性の問題を回避するために、オブジェクトマッパーが上記のプロパティーで初期化されていることを確認してください。

たとえば、管理クライアントが独自の MyCustomJacksonProvider クラスを使用して以下のようにインスタンス化される状況を考えてみましょう。

Keycloak.getInstance(
                "http://localhost:8080",
                "master",
                "admin",
                "admin",
                "admin-cli",
                null,
                null,
                new MyCustomJacksonProvider()
        );

この場合、クラス MyCustomJacksonProvider がクラス org.keycloak.admin.client.JacksonProvider から拡張されていることを確認するか、上記の方法で ObjectMapper を手動で設定してください。KeycloakBuilder を使用して管理クライアントを作成し、RestEasy クライアントを手動で注入して作成する場合も、同様の注意が必要です。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る