我有一个 REST API 用于运行一些计算并返回结果,它有一个非常简单的令牌系统,只有授权用户才能使用该 API。
用户将他们的令牌添加到查询中,如下所示:
{
authorization: 'my token',
moreData: 51351,
etc: 'etc'
}
因为这个 API 的用户通常不是程序员,所以我做了一个非常简单的网页来演示这个 API,并带有一个可以直接从网页运行的现场演示,演示它是如何工作的以及返回什么。
此演示有一个假授权令牌,显示在示例查询中。我制作了一个简单、隐藏和部分混淆的 JavaScript 函数,它在发送请求之前拦截这个假令牌并用实际令牌替换它,这可能会欺骗大多数用户。但实际在浏览器中查看来自调试工具的请求的用户将很容易看到发送的实际令牌,并且可以使用此令牌发送自己的请求。
当然,我可以限制演示令牌的速率,但这意味着正在尝试现场演示的用户可能会遇到暂时的锁定,我想避免这种情况。
是否有任何方法可以保护演示授权令牌免受需要易于使用并需要现场演示的 API 的影响?