使用 curl

您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

acurl(1) 公用程式提供標準 curl 的便利包裝函式 指令acurl:

  • 將 Apigee 憑證交換為 OAuth2 存取權杖。
  • 偵測存取權杖是否過期,並使用更新權杖取得最新的存取權杖。
  • 在 API 要求的 Authorization 標頭中傳遞該權杖。

您可以使用存取權權杖,透過 OAuth2 呼叫 Edge API 端點,包括 LDAP 和 SAML 工作流程。

如果您使用 OAuth2 存取 Edge API,但未使用 acurl,則必須取得存取權杖,並自行將其新增至 API 要求的標頭。取得存取權杖的其中一種方法是使用 get_token 公用程式。

安裝 acurl

您必須先安裝 acurl,才能使用該服務。

acurl 語法

acurl 公用程式使用下列語法:

acurl API_URL -u USERNAME:PASSWORD [-m MFACODE]

acurl API_URL -p PASSCODE

在此情況下:

選項 必填與否 說明
API_URL 必要 Apigee Edge API 端點。如需完整的端點清單,請參閱 Apigee Edge API 參考資料
USERNAME 選用。必須輸入使用者名稱和密碼或密碼代碼。 Apigee 使用者名稱,通常是與 Apigee 帳戶相關聯的電子郵件地址。 您必須在首次呼叫 get_token 時傳遞使用者名稱或密碼。不需要傳遞電子郵件 寫入憑證,直到存取權和更新權杖過期為止。如果您為多位使用者快取權杖,則必須在每個呼叫中指定使用者名稱。
PASSWORD 選用。必須輸入使用者名稱和密碼組合或密碼。 Apigee 帳戶的密碼。如果您省略密碼,系統會提示您 第一次使用 acurl 以及進行後續呼叫時,請輸入有效的 PIN 碼 重新整理權杖。如果不想在指令中直接使用密碼,可以改用動態密碼代碼,而非密碼。
MFACODE 選用 臨時的六位數多重要素 驗證碼驗證碼。如果您使用 -u 且已啟用多重身分驗證,就必須輸入這個驗證碼。如果省略,系統會提示您 (除非處於密碼模式)。如果您未啟用多重驗證,或有指令碼流程,可以指定 -m "" 來避免提示。
PASSCODE 選填。必須輸入使用者名稱和密碼組合或密碼。 一次性密碼可用來取代密碼。使用 SAML IdP 進行驗證時,必須輸入密碼,並可用於透過 LDAP IdP 進行驗證。

例如:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
acurl 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 也接受所有 curl 只要設定成「自動重新啟動」 和「在主機維護期間」選項即可舉例來說,您可以傳遞標頭、指定 HTTP 動詞、新增主體,並使用標準 curl 選項啟用詳細資訊:

選項 acurl meaning curl meaning
-u username username
-m MFA code max time (必須使用長版 --max-time)
-p passcode proxy tunnel (必須使用長版 --proxytunnel)
-v verbose verbose
-h help help (必須使用長版 --help)
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 呼叫會根據您呼叫的 Edge API 端點傳回結果。此外,acurl 會在 ~/.sso-cli 中儲存存取權和重新整理權杖。

你可以繼續撥打電話,而不輸入憑證 (密碼和選用的 MFA 或密碼) 直到存取權杖與 重新整理權杖會失效,如「權杖有效期限」一節所述。

從 curl 遷移

如果您使用 curl,遷移至 acurl 公用程式非常簡單,而且不需要手動編碼憑證。下載及安裝公用程式後,您可以取代:

curl -u username
取代為:
acurl -u username

acurl 公用程式會對您的憑證進行編碼,並不時提示您提供取得新權杖組合所需的額外憑證。

acurl 公用程式也可用於針對電腦使用者取代 curl。詳情請參閱「機器使用者的 OAuth 2.0」和「SAML 區域中的機器使用者」。

首次呼叫 curl

首次使用 acurl 呼叫 API 時,您必須提供 Apigee 憑證 ( 您 Apigee 帳戶的使用者名稱和密碼,或密碼), acurl 可以用這些憑證交換存取權杖和更新權杖。

以下範例顯示使用 acurl 的初始呼叫以取得詳細資料 方法是使用 Get 指令 機構端點:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -u ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code (no spaces) if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
1a2b3c
{
  "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 公用程式取得存取權杖並插入呼叫 Edge API 端點:

curl -H "Authorization: Bearer oauth2_access_token" ...

存取權杖會儲存在 ~/.sso-cli 的本機中,並用於後續呼叫。

存取權憑證到期後,acurl 會自動使用更新憑證取得新的存取權憑證。更新權杖到期時,acurl 會提示您 您的 Apigee 憑證

這項要求會取得「ahamilton-eval」的詳細資料並根據貴機構的使命 價值觀和目標進行調整如需 Edge API 端點的完整清單,請參閱 Apigee Edge API 參考資料


(1) 版權所有 2023 Google LLC
acurl 工具以「軟體」形式提供在 本協議,規範 Google Cloud Platform (包括「服務」) 的使用行為 如需查看專屬條款,請前往 https://cloud.google.com/terms/service-terms