您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 info
您可以使用基本身份验证来访问 Edge for the Cloud 账号的 Edge API。使用基本身份验证时,您需要在每个 Edge API 请求中传递凭据(Apigee 账号的电子邮件地址 和密码)。
在受支持的身份验证机制中,基本身份验证的安全性最低。您的 凭据不会经过加密或哈希处理,只会进行 Base64 编码。Apigee 建议您使用 OAuth2 或 SAML 来访问 Edge API,而不是使用基本 身份验证。
基本身份验证格式
您可以在 HTTP 客户端中以 Base64 编码的标头或参数的形式传递凭据。
在标头中传递凭据时,您必须对其进行 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,请执行以下操作:
- 使用
base64等工具对您的电子邮件地址和密码进行 Base64 编码。例如:read -es PASSecho -n ahamilton@apigee.com:$PASS | base64base64工具会返回一个编码的字符串:YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo=
- 将编码的字符串添加到 Edge API
请求中的
Authorization标头,如以下示例所示:read -es PASSBASIC=$(echo -n ahamilton@apigee.com:$PASS | base64curl -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 作业。在这些 情况下,您需要让脚本在没有任何人为 干预的情况下获取密码。
请遵循以下准则:
- 将凭据集中在一个文件中,该文件用作您编写的程序和 脚本的来源
- 尽可能使用文件系统安全性和 权限来保护凭据源文件
- 创建一个自动化客户端,该客户端对组织中的特定资源在 您的组织中具有高度受限的权限。