【发布时间】:2021-01-31 02:50:44
【问题描述】:
我有一个 javascript 前端,我需要对需要 API 密钥的第 3 方 API 进行 API 调用。我相当肯定,如果在 javascript 代码中使用该密钥,则无法真正保护该密钥,因为任何人只要尝试就可以找到它。
我还阅读了其他类似的问题,其中最重要的建议通常是“从服务器端发出请求”。这是有道理的,因为没有人会看到 API 访问密钥,但我对这个解决方案的不理解是,如果我调用这个新的中间层 API,仍然可以被浏览器发现的人发现...... .so 虽然他们无法再发现我正在尝试访问的 API 的 API 密钥 - 他们不再需要它,因为中间层只是为他们添加密钥并转发请求。我基本上创建了一种无需使用密钥即可访问 3rd 方 api 的方法。
(Javascript -> 向没有密钥的新 API 发出请求 -> 新 Api -> 向带有密钥的 3rd 方 API 发出请求 -> 新 API 将结果返回给 Javascript)
我在这里遗漏了什么吗?怎样更安全?不需要其他步骤来保护它吗?我试图在类似的问题中找到一个简洁的答案,但到目前为止还没有运气。
谢谢。
【问题讨论】:
标签: javascript api rest security