18.9. クライアント操作
クライアントの作成
クライアントエンドポイントで
create
コマンドを実行して、新しいclients
エンドポイントを作成します。以下に例を示します。
$ kcadm.sh create clients -r demorealm -s clientId=myapp -s enabled=true
認証するアダプターのシークレットを設定する場合は、シークレットを指定します。
以下に例を示します。
$ 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
コマンドを使用してクライアントをリスト表示します。
この例では、出力をフィルタリングして、id
および clientId
属性のみを一覧表示します。
$ kcadm.sh get clients -r demorealm --fields 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 -r demorealm
特定のクライアントの新規シークレットを生成します。
クライアントの ID を使用して、client/ID/client-secret
などのエンドポイント URI を作成します。
以下に例を示します。
$ kcadm.sh create clients/$CID/client-secret -r demorealm
特定クライアントの現在のシークレットの更新
クライアント ID を使用して clients/ID
などのエンドポイント URI を作成します。
以下に例を示します。
$ kcadm.sh update clients/$CID -s "secret=newSecret" -r demorealm
特定クライアントのアダプター設定ファイル (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 を作成します。
応答の形式は .zip
です。
以下に例を示します。
$ kcadm.sh get http://localhost:8080/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
を持つユーザーアカウントです。このアカウントで、通常のアカウントと同じユーザー操作を実行できます。