为确保 REST API 仅由已知消费者访问,客户端应用程序使用密钥对每个 HTTP 请求进行签名,然后将生成的签名与API 密钥一起发送到服务器。
在 JavaScript 客户端的情况下,API 密钥和秘密被硬编码在脚本本身中......那么这种机制如何确保发送请求的客户端确实是它应该是的客户端?我问是因为如果秘密在 JavaScript 中被硬编码,每个人都可以查看它,窃取秘密,并在其他应用程序中使用它。
有没有更安全的方式向消费者公开 API?我知道 Stackoverflow 中还有其他帖子涵盖了这个主题......但我不清楚如何处理消费者授权和用户授权。在我的例子中,消费者授权决定了第三方是否被允许访问我的 API 并且与业务逻辑无关,而用户授权是在应用程序级别(即在消费者被识别和授权之后)。