使用 curl

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

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 並啟用 MFA 時,必須提供此代碼。 如果省略,系統會提示您 (除非在密碼模式下)。若您未啟用 MFA,或您已編寫指令碼的流程, 您可以指定 -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
- 分鐘 MFA code max time (必須使用長版 --max-time)
-p passcode proxy tunnel (必須使用長版 --proxytunnel)
-v verbose verbose
- 小時 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。如需更多資訊 請參閱電腦使用者適用的 OAuth2SAML 可用區中的機器使用者

首次呼叫 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