现在我正在编写一个客户端 javascript 应用程序,它向 USPS Price Calculator API 发出请求。为了发出此请求,我需要在请求的 xml 中提供我的 API 用户 ID。标签如下所示:
<RateV4Request USERID="ThisIsWhereMyUserIdGoes">
.我的问题是:有什么方法可以向 javascript 提供我的用户 ID,同时仍然对查看客户端文件的用户隐藏它。现在,我唯一的解决方案是在我的服务器中创建一个具有用户 ID 的 PHP 文件,然后在客户端 javascript 中使用 AJAX 请求将其存储在全局变量中。它看起来像这样:
var userID;
$.get("/secrets.php", function( data ) {
userID = data;
});
这是防止我的 API 用户 ID 被我的应用程序用户看到的充分方法吗?我还能做什么?
最佳答案
简而言之:不,您不能在客户端应用程序中保护您的 API key 。
This article goes into some more detail
两种选择
- 在服务器端调用 API,然后从那里向客户端提供信息
- 要求客户使用他们自己的 API key
关于javascript - 如何在客户端 Javascript 中隐藏 API key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38237673/