【发布时间】:2017-09-28 01:08:38
【问题描述】:
REST API 通常通过请求的 Authorization 标头中的 API 令牌进行访问。如果用户有一个帐户,他们可以简单地获得一个与他们的帐户相关联的令牌。然后可以在此基础上应用速率限制。
但是,在某些情况下,没有帐户的用户可能需要访问 REST API。想象一下,例如,一个公共新闻网站,其文章应该可供有帐户和没有帐户的用户阅读。在这种情况下,应该如何访问 REST API,并应用速率限制?
我的直接想法是匿名客户端可以访问POST /api/register/anonymous 之类的资源,并被授予一个 API 令牌,该令牌适用于具有有限权限的匿名用户。资源本身可以基于 IP 地址进行速率限制。但是,这无疑有其局限性,例如 IP 地址的不可靠性。
对此事的任何想法将不胜感激。
【问题讨论】:
标签: rest authentication authorization api-design rate-limiting