首页 > 解决方案 > 使用服务器代理隐藏第三方 API 密钥

问题描述

我需要在我的客户端 JS 中使用第三方 API 调用,我知道一种方法是使用服务器代理(例如 www.myserver.com/getdata/),它可以调用 API 并将结果返回到前面结尾。我的问题是,即使我使用服务器代理,其他人也不能通过调用我的服务器代理而不是直接调用第三方来间接使用我的第三方 API 密钥。

标签: javascriptapiclient-side-scripting

解决方案


我认为标题具有误导性,因此我将尝试回答正文中所述的问题。是和否:他们可以间接使用第三方 API 密钥,但您可以完全控制他们可以看到的数据。您还可以在将用户输入交给第三方之前对其进行验证。想象一个支付 API:你真的想让用户控制你想向他们收取的金额吗?

换句话说:如果第三方的 API 密钥应该保密,那么将它放在客户端上可能不是一个好主意。


推荐阅读