6.4. クライアント登録 CLI の使用
- 認証情報を使用してログインし、認証されたセッションを開始します。
クライアント登録 RESTエンドポイントでコマンドを実行します。たとえば、以下のようになります。
Linux:
$ kcreg.sh config credentials --server http://localhost:8080/auth --realm demo --user user --client reg-cli $ kcreg.sh create -s clientId=my_client -s 'redirectUris=["http://localhost:8980/myapp/*"]' $ kcreg.sh get my_client
Windows:
c:\> kcreg config credentials --server http://localhost:8080/auth --realm demo --user user --client reg-cli c:\> kcreg create -s clientId=my_client -s "redirectUris=[\"http://localhost:8980/myapp/*\"]" c:\> kcreg get my_client
注記実稼働環境では、
https:で Red Hat Single Sign-On にアクセスする必要があります。これにより、トークンをネットワークスニファーに公開しないようにする必要があります。
Java のデフォルト証明書トラストストアに含まれる信頼される認証局 (CA) のいずれかによってサーバーの証明書が発行されていない場合は、
truststore.jksファイルを準備し、クライアント登録 CLI にこれを使用するように指示します。たとえば、以下のようになります。
Linux:
$ kcreg.sh config truststore --trustpass $PASSWORD ~/.keycloak/truststore.jks
Windows:
c:\> kcreg config truststore --trustpass %PASSWORD% %HOMEPATH%\.keycloak\truststore.jks
6.4.1. ログイン
- クライアント登録 CLI でログインするときに、サーバーエンドポイント URL およびレルムを指定します。
-
ユーザー名またはクライアント ID を指定します。これにより、特別なサービスアカウントが使用されます。ユーザー名を使用する場合は、指定したユーザーのパスワードを使用する必要があります。クライアント ID を使用する場合は、パスワードの代わりにクライアントシークレットまたは
署名済み JWTを使用します。
ログイン方法に関係なく、ログインするアカウントには、クライアント登録操作を実行するための適切な権限が必要です。マスター以外のレルムのアカウントには、同じレルム内のクライアントを管理するためのパーミッションのみを持つことができる点に注意してください。異なるレルムを管理する必要がある場合は、異なるレルムで複数のユーザーを設定するか、master レルムで 1 つのユーザーを作成し、異なるレルムでクライアントを管理するロールを追加できます。
クライアント登録 CLI を使用してユーザーを設定することはできません。管理コンソールの Web インターフェースまたは Admin Client CLI を使用してユーザーを設定します。詳細は、『サーバー管理ガイド』 を参照してください。
kcreg が 正常にログインすると、認証トークンを受け取り、プライベート設定ファイルに保存します。これにより、後続の呼び出しにトークンを使用できます。設定ファイルの詳細は、「代替設定の使用」を参照してください。
クライアント登録 CLI の使用方法についての詳細は、組み込みヘルプを参照してください。
たとえば、以下のようになります。
- Linux:
$ kcreg.sh help
- Windows:
c:\> kcreg help
認証セッションの開始に関する詳細は、kcreg config credentials --help を参照してください。