跳到主要内容
版本:3.10.x

消费者和凭证

消费者代表 API 调用者的身份,例如开发者、合作伙伴应用或内部服务。定义消费者后,你可以在身份级别应用安全策略、限流和访问控制,而不只是在路由或服务级别应用。

消费者

消费者是 API7 网关中的全局实体,可以跨不同网关组使用。

主要字段

字段类型必填说明
usernamestring消费者的唯一标识符。格式:^[a-zA-Z0-9_-]+$。最多 512 个字符。
descstring消费者说明。
labelsobject用于对消费者进行分组和筛选的键值对。
pluginsobject专门应用于此消费者的插件,例如 rate-limitingacl

消费者凭证

消费者凭证是附加到消费者的身份认证 Token 或一组凭证。单个消费者可以拥有多种不同类型的凭证,从而灵活使用不同的身份认证方式。

主要字段

字段类型必填说明
namestring凭证的唯一名称。
pluginsobject身份认证插件配置。每个凭证只能使用一个插件。

支持的凭证类型

API7 网关支持以下消费者凭证身份认证方式:

类型说明
key-auth最简单的方式,通过请求头或查询参数传递 API 密钥。
basic-auth使用用户名和密码的标准 HTTP 基本身份认证。
hmac-auth使用密钥和 Secret 对请求签名,增强安全性。
jwt-auth使用 JSON Web Token 的 Token 身份认证。

身份认证流程

下图展示了网关如何处理凭证以识别消费者:

  1. 客户端发送包含凭证的请求,例如 apikey 请求头。
  2. 网关执行在路由或服务上配置的相应身份认证插件。
  3. 插件验证凭证,并将其映射到特定消费者。
  4. 识别消费者后,网关应用在消费者级别配置的所有插件。
  5. 将请求代理到上游服务。

后续步骤