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 をインストールする
acurl
と get_token
を含む ZIP ファイルとインストール スクリプトが用意されています。
acurl
と get_token
をインストールするには:
- ご使用のマシンにインストール ディレクトリを作成し、そのディレクトリに
cd
します。 - 次の例に示すように、Apigee からインストール ZIP ファイルをダウンロードします。
curl https://login.apigee.com/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
- ダウンロードしたファイルを解凍します。
- 次の例に示すように、インストール スクリプトを実行します。
sudo ./install -b /usr/local/bin
-b
オプションでは、実行ファイルの場所を指定します。このオプションを省略すると、/usr/local/bin
にユーティリティがインストールされます。 - 次の例に示すように、インストールをテストします。
acurl -h
get_token -h
これらのコマンドは、ユーティリティのヘルプテキストを返します。
トークンの有効期限
acurl
と get_token
によって生成されるトークンの存続期間は次のとおりです。
- アクセス トークンの存続期間は 1,799 秒間(約 30 分間)
- 更新トークンの存続期間は 84,600 秒間(約 24 時間)
そのため、acurl
または get_token
が正常に実行されると、生成されたトークンを約 24.5 時間使用できます。この時間が過ぎたら、パスワードを再入力して新しいトークンを取得する必要があります。
ワンタイム パスコードを使用する(SAML のみ)
acurl
または get_token
を呼び出すとき、ユーティリティに対して自身を認証する必要があります。認証されないと、アクセス トークンは返されません。これには通常、Apigee アカウントのメールアドレスとパスワードを渡します。ただし、パスワードを使用したくない場合(たとえば、それが会社のパスワードの場合など)は、ワンタイム コードのパスコードを取得してパスワードの代わりに使用できます。
ワンタイム パスコードを取得するには:
- ブラウザに次の URL を入力します。
https://login.apigee.com/passcode
- Apigee アカウントにログインします。
- 6 文字のパスコードをコピーします。
- 次の例に示すように、
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 エンドポイントを変更する
デフォルトでは、acurl
と get_token
は次の場所にある SSO サービスを呼び出してトークンを生成します。
https://login.apigee.com
別の SSO エンドポイントを使用するには、ターミナル セッションで環境変数 SSO_LOGIN_URL
を変更します。