acurl
ユーティリティは、標準的な curl
コマンドの便利なラッパーです。acurl
は次のように動作します。
- OAuth2 アクセス トークンのために Apigee 認証情報を交換します。
- そのトークンを API リクエストの
Authorization
ヘッダーで渡します。 - アクセス トークンが期限切れになったことを検出し、更新トークンを送信します。
アクセス トークンを使用して、OAuth または SAML ワークフローで管理 API を呼び出します。
前提条件: acurl
を使用する前に、これをインストールする必要があります。
acurl
ではなく OAuth2 を使用して管理 API にアクセスする場合は、アクセス トークンを取得して API リクエストのヘッダーに追加する必要があります。アクセス トークンを取得する方法はいくつかあります。たとえば、get_token ユーティリティを使用して取得できます。
acurl 構文
acurl
ユーティリティの構文は次のとおりです。
acurl management_API_endpoint -u email_address[:password] [-p passcode] [-m mfa_code]
各パラメータの説明は次のとおりです。
オプション | 要否 | 説明 |
---|---|---|
management_API_endpoint | 必須 | 管理 API エンドポイント。エンドポイントの一覧については、Apigee Management API リファレンスをご覧ください。 |
email_address | 必須(初回のみ) | Apigee アカウントに関連付けられているメールアドレス。初めて acurl を呼び出すときにメールアドレスを渡す必要があります。以降の呼び出しでは、認証はアクセス トークンによって行われます。アクセス トークンと更新トークンが期限切れになるまで、再度メールアドレスを渡す必要はありません。 |
password | 省略可 | Apigee アカウントのパスワード。パスワードを省略すると、初めて acurl を呼び出すときにパスワードの入力を求められます。コマンドで直接パスワードを使用したくない場合は、パスワードの代わりにワンタイム パスコードを使用できます。 |
passcode | 省略可 | パスワードの代わりに使用できるワンタイム パスコード。 |
mfa_code | 省略可 | 多要素認証(MFA)を有効にしている場合に acurl に渡す必要がある一時的なコード。MFA を有効にしていない場合は、このオプションを省略できます。 |
例:
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-evalacurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com -p 424242
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd -m 123456
acurl -v -X POST -H 'Content-Type: application/json' \ https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apiproducts/myproduct/attributes/attr \ -u ahamilton@apigee.com -d '{"value":42}'
acurl
の呼び出しが成功すると、呼び出した管理 API エンドポイントに基づいて結果が返されます。さらに、acurl
はアクセス トークンと更新トークンの両方を ~/.sso-cli
に保存します。
トークンの有効期限で説明されているように、アクセス トークンと更新トークンの両方の有効期限が切れるまで、パスワードを入力せずに引き続き呼び出しを行うことができます。
acurl の最初の呼び出し
acurl
を初めて呼び出すとき、Apigee 認証情報(Apigee アカウントに関連付けられたメールアドレスとパスワード)を指定して、acurl
がアクセス トークンと更新トークンのために認証情報を交換できるようにします。更新トークンが期限切れになるまで、再度 Apigee 認証情報を使用する必要はありません。
次の例は、Get Organization エンドポイントを使用して組織の詳細を取得する acurl
の最初の呼び出しを示しています。
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
-u ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com
mypassw0rd
{
"createdAt" : 1491854501264,
"createdBy" : "noreply_iops@apigee.com",
"displayName" : "ahamilton",
"environments" : [ "prod", "test" ],
"lastModifiedAt" : 1491854501264,
"lastModifiedBy" : "noreply_iops@apigee.com",
"name" : "ahamilton",
"properties" : {
"property" : [ {
"name" : "features.isSmbOrganization",
"value" : "false"
}, {
"name" : "features.isCpsEnabled",
"value" : "true"
} ]
},
"type" : "trial"
}
acurl
ユーティリティはアクセス トークンを取得し、管理 API エンドポイントの呼び出しに挿入します。
curl -H "Authorization: Bearer oauth2_access_token" ...
acurl
は、アクセス トークンを ~/.sso-cli
にローカルに保存して以降の呼び出しに使用します。
アクセス トークンの有効期限が切れると、acurl
は自動的に更新トークンを使用して新しいアクセス トークンを取得します。更新トークンの有効期限が切れると acurl
は失敗し、Apigee 認証情報の入力を求められます。
このリクエストでは、「ahamilton-eval」組織に関する詳細が返されます。管理 API エンドポイントの一覧については、Apigee Management API リファレンスをご覧ください。