20.8. クライアント操作

クライアントの作成

  1. クライアントエンドポイントで create コマンドを実行して、新しい clients エンドポイントを作成します。

    以下に例を示します。

    $ kcadm.sh create clients -r demorealm -s clientId=myapp -s enabled=true
  2. 認証するアダプターのシークレットを設定する場合は、シークレットを指定します。

    以下に例を示します。

    $ kcadm.sh create clients -r demorealm -s clientId=myapp -s enabled=true -s clientAuthenticatorType=client-secret -s secret=d0b8122f-8dfb-46b7-b68a-f5cc4e25d000

クライアントの一覧表示

clients エンドポイントで get コマンドを使用してクライアントを一覧表示します。

以下に例を示します。

$ kcadm.sh get clients -r demorealm --fields id,clientId

この例では、出力をフィルタリングして、id および clientId 属性のみを一覧表示します。

特定のクライアントの取得

クライアントの ID を使用して、クライアント/ID などの特定のクライアントをターゲットとするエンドポイント URI を作成します。

以下に例を示します。

$ kcadm.sh get clients/c7b8547f-e748-4333-95d0-410b76b3f4a3 -r demorealm

特定クライアントの現在のシークレットの取得

クライアントの ID を使用して、client/ID/client-secret などのエンドポイント URI を作成します。

以下に例を示します。

$ kcadm.sh get clients/$CID/client-secret

特定クライアントのアダプター設定ファイル (keycloak.json) の取得

クライアントの ID を使用して、clients/ID/installation/providers/keycloak-oidc-keycloak-json などの特定のクライアントをターゲットとするエンドポイント URI を作成します。

以下に例を示します。

$ kcadm.sh get clients/c7b8547f-e748-4333-95d0-410b76b3f4a3/installation/providers/keycloak-oidc-keycloak-json -r demorealm

特定クライアントの WildFly サブシステムアダプター設定の取得

クライアントの ID を使用して、clients/ID/installation/providers/keycloak-oidc-jboss-subsystem などの特定のクライアントをターゲットとするエンドポイント URI を作成します。

以下に例を示します。

$ kcadm.sh get clients/c7b8547f-e748-4333-95d0-410b76b3f4a3/installation/providers/keycloak-oidc-jboss-subsystem -r demorealm

特定クライアントの Docker-v2 の設定例

クライアントの ID を使用して、clients/ID/installation/providers/docker-v2-compose-yaml などの特定のクライアントをターゲットとするエンドポイント URI を作成します。

応答は in.zip 形式になることに注意してください。

以下に例を示します。

$ kcadm.sh get http://localhost:8080/auth/admin/realms/demorealm/clients/8f271c35-44e3-446f-8953-b0893810ebe7/installation/providers/docker-v2-compose-yaml -r demorealm > keycloak-docker-compose-yaml.zip

クライアントの更新

update コマンドを、特定のクライアントを取得するために使用したのと同じエンドポイント URI で使用します。

たとえば、以下のようになります。

  • Linux:
$ kcadm.sh update clients/c7b8547f-e748-4333-95d0-410b76b3f4a3 -r demorealm -s enabled=false -s publicClient=true -s 'redirectUris=["http://localhost:8080/myapp/*"]' -s baseUrl=http://localhost:8080/myapp -s adminUrl=http://localhost:8080/myapp
  • Windows:
c:\> kcadm update clients/c7b8547f-e748-4333-95d0-410b76b3f4a3 -r demorealm -s enabled=false -s publicClient=true -s "redirectUris=[\"http://localhost:8080/myapp/*\"]" -s baseUrl=http://localhost:8080/myapp -s adminUrl=http://localhost:8080/myapp

クライアントの削除

特定のクライアントを取得するために使用したエンドポイント URI で delete コマンドを使用します。

以下に例を示します。

$ kcadm.sh delete clients/c7b8547f-e748-4333-95d0-410b76b3f4a3 -r demorealm

クライアントのサービスアカウントのロールの追加または削除

クライアントのサービスアカウントは、ユーザー名 service-account-CLIENT_ID を持つ特別なユーザーアカウントです。このアカウントでユーザーの操作は、通常ユーザーであるかのように実行できます。