消费者
在本文档中,你将学习 API7 企业版中消费者的基本概念以及为什么需要它们。你将了解一些相关概念,包括如何将消费者信息传递到上游、消费者访问限制以及消费者身份验证和授权。
概述
消费者表示向 API 网关发送请求并使用后端服务的用户、应用程序或主机。它与身份验证系统一起使用。每个消费者都必须至少配置一个身 份验证凭据或使用插件(如 Authz Keycloak 或 OpenID Connect)与外部身份验证系统集成。
下图说明了具有一个路由和两个消费者的 API7 企业版示例。一个消费者 FetchBot
是一个数据获取机器人,另一个消费者 JohnDoe
是一个用户。路由和消费者都启用了 key-auth
插件,因此,请求将使用 API 密钥进行身份验证。要访问内部服务,FetchBot
使用 bot-key
发送其请求,JohnDoe
使用 john-key
发送其请求。

此配置可确保只有经过身份验证的请求才能与 /petstore
上公开的内部服务进行交互。
- 如果向 API7 企业版发送的请求没有任何密钥或密钥错误,则该请求将被拒绝。
- 如果使用
bot-key
向 API7 企业版发送请求,则该请求将被验证并由FetchBot
发送以从内部服务获取数据。FetchBot
消费者上的limit-count
限速插件将生效,将 5 秒窗口内的请求数限制为2
。如果未达到限速阈值,则请求将转发到上游服务。否则,它将被拒绝。 - 如果使用
john-key
向 API7 企业版发送请求,则该请求将被验证并由JohnDoe
发送,随后转发到上游端点。
在这种情况下,身份验证插件将根据插件执行阶段在 limit-count
限速插件之前执行。