acurl と get_token について

Apigee には、OAuth2 アクセス トークンと更新トークンを生成して渡すために、次の便利なユーティリティが用意されています。これらのトークンを Management API 呼び出し(の OAuth または SAML ワークフロー)で使用して自身を認証します。

  • acurl: Management API への HTTP リクエストを構築します。アクセス トークンと更新トークンを取得し、アクセス トークンを Management API に渡し、アクセス トークンを自動的に更新します。
  • get_token: Management API の呼び出しに使用できるアクセス トークンと更新トークンを取得します。
  • Management API: Management API の呼び出しに使用できるアクセス トークンと更新トークンを取得します。

各ユーティリティは、Apigee アカウントの認証情報(メールアドレスとパスワード)を OAuth2 トークンと交換します。

これらの Apigee ユーティリティによって作成されるトークンは、OAuth 2.0 認可フレームワークの仕様に準拠しています。

トークンの取得や API へのアクセスにこれらの Apigee ユーティリティを使用するかどうかは自由です。独自のスキームを実装して OAuth2 アクセス トークンを生成し、Management API へのリクエストでそれらのトークンを送信してもかまいません。

acurl と get_token をインストールする

acurlget_token を含む ZIP ファイルとインストール スクリプトが用意されています。

acurlget_token をインストールするには:

  1. ご使用のマシンにインストール ディレクトリを作成し、そのディレクトリに cd します。
  2. 次の例に示すように、Apigee からインストール ZIP ファイルをダウンロードします。
    curl https://login.apigee.com/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
  3. ダウンロードしたファイルを解凍します。
  4. 次の例に示すように、インストール スクリプトを実行します。
    sudo ./install -b /usr/local/bin

    -b オプションでは、実行ファイルの場所を指定します。このオプションを省略すると、/usr/local/bin にユーティリティがインストールされます。

  5. 次の例に示すように、インストールをテストします。
    acurl -h
    get_token -h

    これらのコマンドは、ユーティリティのヘルプテキストを返します。

トークンの有効期限

acurlget_token によって生成されるトークンの存続期間は次のとおりです。

  • アクセス トークンの存続期間は 1,799 秒間(約 30 分間)
  • 更新トークンの存続期間は 84,600 秒間(約 24 時間)

そのため、acurl または get_token が正常に実行されると、生成されたトークンを約 24.5 時間使用できます。この時間が過ぎたら、パスワードを再入力して新しいトークンを取得する必要があります。

ワンタイム パスコードを使用する(SAML のみ)

acurl または get_token を呼び出すとき、ユーティリティに対して自身を認証する必要があります。認証されないと、アクセス トークンは返されません。これには通常、Apigee アカウントのメールアドレスとパスワードを渡します。ただし、パスワードを使用したくない場合(たとえば、それが会社のパスワードの場合など)は、ワンタイム コードのパスコードを取得してパスワードの代わりに使用できます。

ワンタイム パスコードを取得するには:

  1. ブラウザに次の URL を入力します。https://login.apigee.com/passcode
  2. Apigee アカウントにログインします。
  3. 6 文字のパスコードをコピーします。
  4. 次の例に示すように、acurl または get_token-p オプションを使用してパスコードを渡します。
    acurl https://api.enterprise.apigee.com/v1/organization/ahamilton-test-eval \
      -u ahamilton@apigee.com:mypassw0rd -p 123456
    
    get_token -u ahamilton@apigee.com:mypassw0rd -p 123456

トークンを表示する

acurl または get_token の実行が成功すると、トークンとその他のメタデータを含むデータファイルが ~/.sso-cli に作成されます。

トークンを表示するには、次のようなコマンドを使用します。

cat ~/.sso-cli/access_token.dat | python -m json.tool

このコマンドにより、次のようなデータファイルが表示されます。

{
    "access_token": "ey42Jh..............................................z742zHiw1t6A",
    "expires_in": 1799,
    "jti": "26368300-4242-4940-aabb-0eac692476b8",
    "refresh_token": "ey42Jh..............................................mS42YgDEh7g",
    "scope": "scim.me openid password.write approvals.me oauth.approvals",
    "token_type": "bearer"
}

SSO エンドポイントを変更する

デフォルトでは、acurlget_token は次の場所にある SSO サービスを呼び出してトークンを生成します。

https://login.apigee.com

別の SSO エンドポイントを使用するには、ターミナル セッションで環境変数 SSO_LOGIN_URL を変更します。