使用基本身份验证访问 Edge API

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

您可以使用基本身份验证通过 Cloud 帐号访问适用于 Edge 的 Edge API。使用基本身份验证时,您可以在每次请求中向 Edge API 传递凭据(您的 Apigee 帐号的电子邮件地址和密码)。

基本身份验证是受支持的身份验证机制中安全性最低的。您的凭据不会加密或经过哈希处理,而是仅采用 Base64 编码。Apigee 建议您使用 OAuth2SAML 访问 Edge API,而不是基本身份验证。

基本身份验证格式

您可以将凭据作为 Base64 编码的标头或 HTTP 客户端中的参数进行传递。

在标头中传递凭据时,您必须对其进行 Base64 编码。以下是经过编码的 HTTP 基本身份验证标头的示例:

Authorization: Basic YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo

使用 curl 等客户端时,您可以使用 -u 选项传递凭据,如以下示例所示:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u email_address:password

curl 会对电子邮件地址和密码进行编码,并为您将它们添加到请求的 Authorization 标头中。

如果您省略密码,系统会提示您输入密码。

请注意,在 Edge API 调用中,您必须使用 Apigee 帐号的电子邮件地址,而不是您的用户名。

使用 curl 访问 Edge API

您也可以在使用 curl 访问 Edge API 时,手动设置 Authorization 标头请求。

尽管 curl 会对凭据进行编码(如上所述),但在某些情况下,您可能不想在命令历史记录中输入未经编码的凭据。

如需手动设置标头并使用 curl 访问 Edge API,请执行以下操作

  1. 使用 base64 等工具对电子邮件地址和密码进行 Base64 编码。例如:
      read -es PASS
      echo -n ahamilton@apigee.com:$PASS | base64

    base64 工具会返回经过编码的字符串:

    YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo=
  2. 将编码后的字符串添加到 Edge API 请求的 Authorization 标头中,如以下示例所示:
        read -es PASS
        BASIC=$(echo -n ahamilton@apigee.com:$PASS | base64
        curl -H "Authorization: Basic $BASIC" \
        https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
        {
        "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"
        }

此请求会获取有关“ahamilton-eval”组织的详细信息。如需查看 Edge API 端点的完整列表,请参阅 Apigee Edge API 参考文档

您必须在每个请求中添加 Authorization 标头。

停用基本身份验证

您可以向 Apigee Edge 支持发送请求,以停用基本身份验证(只要 OAuth2 或 SAML 已启用)。

脚本指南

在某些情况下,在脚本运行时收集密码并不现实。例如,您可能需要运行在没有管理员时触发的 Cron 作业。在这些情况下,您需要在不经任何人为干预的情况下,向脚本提供密码。

请遵循以下准则:

  1. 将凭据集中到一个文件中,作为您编写的程序和脚本的来源
  2. 使用文件系统安全和权限尽可能保护凭据源文件
  3. 创建一个自动化客户端,对组织中的特定资源具有高度受限的权限。