用户限制和配额 - 令牌管理
Throttling & Quota by users - Token Management
我想为访问我的 API 的用户实施配额,但我不确定我想到的流程是否是通过简单地阅读几个 API 管理解决方案的文档来实现的方法.
目前,我的流程可以描述如下:
- 用户向应用程序提供凭据
- 该应用调用我的授权服务器进行验证。如果成功,令牌将返回给用户。
- 在以下请求中,应用程序将在访问服务之前针对授权服务器验证令牌(授权 header)。
我的问题是我无法实施基于令牌的配额,因为我的用户将能够获得新令牌以避免限制。根据您的经验,是否可以在网关级别按用户管理配额,或者我应该更改我的 API 身份验证方法?
此致,
当我们谈到 api 和令牌时,最常用的通信模型是协议 OAuth 2.0。
通过它,API 用户必须向他们各自的 OAuth 身份验证服务器进行身份验证(它可以是第三方服务器,例如 facebook 或 google)。
有了令牌并且这个令牌是一个生命周期有限的令牌,暴露的 API 必须针对 OAuth 资源服务器验证这个令牌,这将识别谁将是请求的客户端/应用程序.
因此,使用 OAuth 令牌可以识别请求者。
关于配额控制,如果您不使用任何 API 管理/网关市场参与者(例如:apigee),您必须使用 高性能查询引擎。对于更简单的解决方案,键值对数据库可以解决这个问题(例如 redis)。
我想为访问我的 API 的用户实施配额,但我不确定我想到的流程是否是通过简单地阅读几个 API 管理解决方案的文档来实现的方法.
目前,我的流程可以描述如下:
- 用户向应用程序提供凭据
- 该应用调用我的授权服务器进行验证。如果成功,令牌将返回给用户。
- 在以下请求中,应用程序将在访问服务之前针对授权服务器验证令牌(授权 header)。
我的问题是我无法实施基于令牌的配额,因为我的用户将能够获得新令牌以避免限制。根据您的经验,是否可以在网关级别按用户管理配额,或者我应该更改我的 API 身份验证方法?
此致,
当我们谈到 api 和令牌时,最常用的通信模型是协议 OAuth 2.0。
通过它,API 用户必须向他们各自的 OAuth 身份验证服务器进行身份验证(它可以是第三方服务器,例如 facebook 或 google)。
有了令牌并且这个令牌是一个生命周期有限的令牌,暴露的 API 必须针对 OAuth 资源服务器验证这个令牌,这将识别谁将是请求的客户端/应用程序.
因此,使用 OAuth 令牌可以识别请求者。
关于配额控制,如果您不使用任何 API 管理/网关市场参与者(例如:apigee),您必须使用 高性能查询引擎。对于更简单的解决方案,键值对数据库可以解决这个问题(例如 redis)。