使用 acurl

<ph type="x-smartling-placeholder"></ph> 您正在查看 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 时输入该密钥,并在任何后续调用时都输入无效 刷新令牌。如果您不想直接在命令中使用密码,可以使用 使用一次性密码代替您的密码。
MFACODE 可选 临时的六位数多重身份验证 身份验证 (MFA) 代码。如果您使用 -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
-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。如需更多信息 请参阅计算机用户的 OAuth2SAML 可用区中的计算机用户

首次调用 acurl

首次使用 acurl 调用 API 时,您需要提供 Apigee 凭据( 用户名和密码,或密码), acurl 可以用其交换访问令牌和刷新令牌。

以下示例展示了初始调用 acurl,以获取有关 使用获取 组织端点:

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