您目前查看的是 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 時,以及後續任何沒有有效更新權杖的呼叫中,提示您輸入密碼。如果您不想直接在指令中使用密碼,可以改用一次性代碼密碼。 |
| MFACODE | 選用 | 六位數的臨時多重驗證 (MFA) 碼。如果您使用 -u 並已啟用多重驗證,就必須提供這個代碼。
如果省略,系統會提示您輸入 (除非處於密碼模式)。如果未啟用多重驗證,或使用指令碼流程,可以指定 -m "" 來避免提示。 |
| PASSCODE | (選用) 必須輸入使用者名稱和密碼,或使用密碼。 | 動態密碼可取代密碼。使用 SAML IDP 驗證時必須輸入密碼,使用 LDAP IDP 驗證時則可輸入密碼。 |
例如:
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-evalacurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.comacurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com -p 424242acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rdacurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd -m 123456
除了上述選項,acurl 也接受所有 curl 選項。舉例來說,您可以使用標準 curl 選項傳遞標頭、指定 HTTP 動詞、新增主體,以及啟用詳細程度:
| 選項 | 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 中。
在存取權杖和更新權杖都過期之前,您都可以繼續撥打電話,不必輸入憑證 (密碼和選用的多重驗證,或密碼),詳情請參閱「權杖到期」一文。
從 curl 遷移
如果您使用 curl,遷移至 acurl 公用程式的過程很簡單,而且不需要手動編碼憑證。下載並安裝公用程式後,即可取代:
curl -u usernameacurl -u usernameacurl 公用程式會編碼您的憑證,並視情況提示您提供其他憑證,以取得新的權杖配對。
您也可以使用 acurl 公用程式取代電腦使用者的 curl。詳情請參閱「機器使用者的 OAuth2」和「SAML 區域中的機器使用者」。
首次呼叫 acurl
首次使用 acurl 呼叫 API 時,請提供 Apigee 憑證 (Apigee 帳戶的使用者名稱和密碼,或密碼),以便 acurl 將這些憑證換成存取權杖和重新整理權杖。
以下範例顯示使用 acurl 的初始呼叫,透過 Get organization 端點取得機構詳細資料:
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。