使用 API 密钥验证 API

准备工作

  • 确保拥有管理 API 或激活/停用 API 的功能权限。 如果您是管理员,则必须拥有此权限。
  • 您的系统中已安装 Postman,或者您可以使用网络版 Postman

关于本任务

暴露应用程序接口会显示应用程序逻辑和敏感数据,可能会给企业带来安全风险。 没有身份验证,应用程序接口很容易受到未经授权的访问、误用和滥用。 未经身份验证的用户或应用程序可能会访问敏感数据或资源,执行未经授权的操作,或通过过多的请求使应用程序接口超载。 因此,应用程序接口的安全性成为一个重要方面。 确保应用程序接口安全的方法之一是实施身份验证机制,通过用户凭证和加密访问代码控制应用程序接口的暴露。 认证机制就像一个看门人,只允许真实用户访问。

您可以使用不同的 API 身份验证方法,如 HTTP 基本身份验证、API 密钥身份验证、OAuth 2.0 身份验证和 JWT 身份验证。 为特定应用程序接口选择合适的验证方法取决于验证客户端所需的安全级别和实施的难易程度。

例如, HTTP "基本 "身份验证可很好地限制公众访问低风险数据和资源,但仍需要最低水平的安全控制。 在应用程序接口提供商希望识别单个客户并对其权限进行管理的情况下,应用程序接口密钥验证非常有效。 API 密钥适用于简单的 API 请求,您可能不需要很高的安全级别,而 OAuth 2.0 或 JWT 身份验证方法通过令牌撤销和刷新令牌的形式提供了更高的安全级别。

webMethods API Gateway 提供各种认证方法,如基本认证、API 密钥、OAuth 2.0、OAuth with OpenID, 和 JWT。 下面的示例说明了如何使用基于 API 密钥的身份验证安全访问 API。 API 密钥身份验证方法使用系统生成的字符串,这些字符串由一长串字母或数字组成,用于创建独一无二的成对识别凭证和 API 访问令牌。 这些数字代码从不同的应用程序中调用程序;然后,密钥会识别代码、代码开发者、用户以及调用 API 的应用程序。 当客户验证 API 密钥时,服务器就会识别他们的身份,让他们轻松访问数据。

图中描述了基于 API 密钥的身份验证机制。

身份验证API

下面的示例说明了使用 API 密钥保护 REST API Petstore 的步骤,以及如何使用此 API 密钥访问 API。

过程

  1. 创建 REST API Petstore
    1. 打开菜单选项,选择 API
    2. 单击创建 API
    3. 选择从 URL 导入 API
    4. 提供以下信息:
      • URL- https://petstore.swagger.io/v2/swagger.json
      • 名称- Petstore
      • 版本- 1.0
      • 团队管理员
    5. 单击创建。 创建 Petstore API 并显示 Petstore API 的详细信息页面。
    6. 单击 " 激活 "激活 API。
  2. 使用识别和访问策略强制 API,将识别类型配置为 API 密钥。
    1. 单击编辑
    2. 单击 " 政策 "选项卡。
    3. 单击 "策略目录 "部分中的 " 识别和访问 "。
    4. 单击 " + " 确定和授权保单,添加保单。
    5. 在策略属性部分提供以下信息。
      • 条件类型- OR
      • 识别类型-- API 密钥
      • 应用程序查询条件 - 已注册的应用程序
    6. 单击保存。 现在,应用程序接口已执行必要的政策。
  3. 创建应用程序 petstore 应用程序 ,并将 Petstore API 与应用程序关联。
    将 API 添加到应用程序后,应用程序就能访问 API。 作为 API 开发人员,当您在运行时调用 API 时,您必须为 webMethods API Gateway 的 API 密钥,以识别应用程序。
    1. 单击标题导航栏中的应用程序
    2. 单击创建应用程序
    3. 请提供以下信息: 名称为 aspetstore 应用程序 ,版本为 1.0。
    4. 单击 " 继续 "至 "标识符 "。
    5. 单击 " 继续 API"。
    6. 在搜索框中键入关键字 pet ,查找 API petstore ,然后单击 + 添加 API。
    7. 单击保存。 现在申请已保存,并显示申请详情页面。
  4. 记下用于访问 API 的 API 密钥。
  5. 使用 API 密钥验证和访问 petstore API。 使用 Postman 应用程序调用和访问 API。
    1. 打开 Postman。
    2. 在 Postman UI 中,选择 HTTP 方法为 GET ,按状态检索宠物的详细信息。
    3. 调用终端、 http://<host>:<port>/gateway/Petstore/1.0/pet/findByStatus
    4. 在 " 授权 "选项卡中,选择类型为 API 密钥 ,并提供以下信息。
      • 密钥- x-Gateway-APIKey
      • 值 - 应用程序接口密钥
      • 添加标题
    5. 点击发送。 REST API 调用成功,并返回状态代码 200。 响应包含所请求的搜索数据。
      如果 API 密钥无效,则访问 API 时会出现错误,状态代码为 401。

下一步

现在您已经安全地访问了 API,可以开始使用 API 了。