acurl と get_token について

Apigee には、OAuth2 アクセスとリフレッシュ トークンを生成して渡すうえで便利なユーティリティが用意されています。このトークンを使用して、Management API 呼び出し(OAuthSAML ワークフローに対するもの)で、自身を認証します。

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

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

Apigee ユーティリティによって作成されるトークンは、OAuth 2.0 Authorization Framework の仕様に準拠しています。

トークンの取得や API へのアクセスに Apigee ユーティリティを使用することは、任意です。独自のスキームを実装して OAuth2 アクセス トークンを生成し、Management API へのリクエストで送信できます。

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

Apigee には、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 オプションは、実行ファイルの場所を指定します。このオプションを指定しなかった場合、インストール スクリプトはユーティリティを現在のディレクトリにインストールします。

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

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

トークンの有効期限

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

  • アクセス トークンの有効期限は 1,799 秒間(約 30 分間)
  • リフレッシュ トークンの有効期限は 84,600 秒間(約 24 時間)

結果的に、acurl または get_token のいずれかを正常に実行すると、トークンを約 24.5 時間使用し続けられます。その後は、パスワードを再入力して新しいトークンを取得する必要があります。

ワンタイム パスコードを使用する

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

ワンタイム パスコードの取得手順

  1. ブラウザに次の URL を入力します: https://login.apigee.com/passcode
  2. Apigee アカウントにログインします。
  3. 6 文字のパスコードをコピーします。
  4. 次の例に示すように、acurlget_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

トークンを表示する

acurlget_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 を変更します。