用户限制和配额 - 令牌管理

Throttling & Quota by users - Token Management

我想为访问我的 API 的用户实施配额,但我不确定我想到的流程是否是通过简单地阅读几个 API 管理解决方案的文档来实现的方法.

目前,我的流程可以描述如下:

  1. 用户向应用程序提供凭据
  2. 该应用调用我的授权服务器进行验证。如果成功,令牌将返回给用户。
  3. 在以下请求中,应用程序将在访问服务之前针对授权服务器验证令牌(授权 header)。

我的问题是我无法实施基于令牌的配额,因为我的用户将能够获得新令牌以避免限制。根据您的经验,是否可以在网关级别按用户管理配额,或者我应该更改我的 API 身份验证方法?

此致,

当我们谈到 api 和令牌时,最常用的通信模型是协议 OAuth 2.0

通过它,API 用户必须向他们各自的 OAuth 身份验证服务器进行身份验证(它可以是第三方服务器,例如 facebook 或 google)。

有了令牌并且这个令牌是一个生命周期有限的令牌,暴露的 API 必须针对 OAuth 资源服务器验证这个令牌,这将识别谁将是请求的客户端/应用程序.

因此,使用 OAuth 令牌可以识别请求者。

关于配额控制,如果您不使用任何 API 管理/网关市场参与者(例如:apigee),您必须使用 高性能查询引擎。对于更简单的解决方案,键值对数据库可以解决这个问题(例如 redis)。