使用服务器代理隐藏第三方 API 密钥

Hiding a third party API key using Server Proxy

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

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

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