4.2. REST API を使用した認証


API 呼び出しには、API トークンによる認証が必要です。変数名として API_TOKEN を使用すると仮定すると、API 呼び出しに -H "Authorization: Bearer ${API_TOKEN}" を追加して、REST API で認証します。

注記

API トークンは 15 分後に期限切れになります。

前提条件

  • (オプション) OpenShift Cluster Manager (ocm) CLI ツールがインストールされている。

手順

  1. OFFLINE_TOKEN を使用して API_TOKEN 変数を設定し、ユーザーを検証します。

    1. (オプション) コマンドラインターミナルで、次のコマンドを実行します。

      $ export API_TOKEN=$( \
        curl \
        --silent \
        --header "Accept: application/json" \
        --header "Content-Type: application/x-www-form-urlencoded" \
        --data-urlencode "grant_type=refresh_token" \
        --data-urlencode "client_id=cloud-services" \
        --data-urlencode "refresh_token=${OFFLINE_TOKEN}" \
        "https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token" \
        | jq --raw-output ".access_token" \
      )
      Copy to Clipboard Toggle word wrap
    2. (オプション) コマンドライン端末で、ocm クライアントにログインします。

      $ ocm login --token="${OFFLINE_TOKEN}"
      Copy to Clipboard Toggle word wrap

      次に、API トークンを生成します。

      $ export API_TOKEN=$(ocm token)
      Copy to Clipboard Toggle word wrap
  1. トークン生成方法の 1 つのパスにスクリプトを作成します。以下に例を示します。

    $ vim ~/.local/bin/refresh-token
    Copy to Clipboard Toggle word wrap
    export API_TOKEN=$( \
      curl \
      --silent \
      --header "Accept: application/json" \
      --header "Content-Type: application/x-www-form-urlencoded" \
      --data-urlencode "grant_type=refresh_token" \
      --data-urlencode "client_id=cloud-services" \
      --data-urlencode "refresh_token=${OFFLINE_TOKEN}" \
      "https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token" \
      | jq --raw-output ".access_token" \
    )
    Copy to Clipboard Toggle word wrap

    次に、ファイルを保存します。

  2. ファイルモードを変更して実行可能にします。

    $ chmod +x ~/.local/bin/refresh-token
    Copy to Clipboard Toggle word wrap
  3. API トークンを更新します。

    $ source refresh-token
    Copy to Clipboard Toggle word wrap
  4. 次のコマンドを実行して、API にアクセスできることを確認します。

    $ curl -s https://api.openshift.com/api/assisted-install/v2/component-versions -H "Authorization: Bearer ${API_TOKEN}" | jq
    Copy to Clipboard Toggle word wrap

    出力例

    {
      "release_tag": "v2.11.3",
      "versions": {
        "assisted-installer": "registry.redhat.io/rhai-tech-preview/assisted-installer-rhel8:v1.0.0-211",
        "assisted-installer-controller": "registry.redhat.io/rhai-tech-preview/assisted-installer-reporter-rhel8:v1.0.0-266",
        "assisted-installer-service": "quay.io/app-sre/assisted-service:78d113a",
        "discovery-agent": "registry.redhat.io/rhai-tech-preview/assisted-installer-agent-rhel8:v1.0.0-195"
      }
    }
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2025 Red Hat