18.2. トークンベースの認証

よりセキュアな認証オプションを希望される場合は、RH-SSO から付与されたトークンを使用すると、Business Central および KIE Server の両方からリモートサービスを使用できます。

手順

  1. RH-SSO 管理コンソールで Clients メニューアイテムをクリックし、Create をクリックして新規クライアントを作成します。

    Add Client ページが表示されます。

  2. Add Client ページで、レルムにクライアントを新規作成するのに必要な情報を指定します。以下に例を示します。

    • Client ID: kie-remote
    • Client protocol: openid-connect
  3. Save をクリックして変更を保存します。
  4. Realm Settings でトークンの設定を変更します。

    1. RH-SSO 管理コンソールで、Realm Settings メニューアイテムをクリックします。
    2. Tokens タブをクリックします。
    3. Access Token Lifespan の値を 15 分に変更します。

      これにより、有効期限が切れる前にトークンを取得してサービスを呼び出すための十分な時間が得られます。

    4. Save をクリックして変更を保存します。
  5. リモートクライアントの公開クライアントを作成したら、以下のコマンドを使用して、RH-SSO サーバーのトークンエンドポイントに HTTP 要求を行ってトークンを取得できます。

    RESULT=`curl --data "grant_type=password&client_id=kie-remote&username=admin&password=password" http://localhost:8180/auth/realms/demo/protocol/openid-connect/token`

    このコマンドのユーザーは Business Central RH-SSO ユーザーです。詳細は、「Red Hat Process Automation Manager ユーザーの追加」 を参照してください。

  6. RH-SSO サーバーから取得したトークンを表示するには、以下のコマンドを使用します。

    TOKEN=`echo $RESULT | sed 's/.*access_token":"//g' | sed 's/".*//g'`

このトークンを使用してリモートの呼び出しを認証できるようになります。たとえば、Red Hat Process Automation Manager の内部リポジトリーを確認するには、以下のようにトークンを使用します。

curl -H "Authorization: bearer $TOKEN" http://localhost:8080/business-central/rest/repositories