我正在进行Jquery Ajax web api调用。 Api呼叫要求我传递Api密钥。我启用了CORS。以下是我的通话目前的情况
$.ajax({
type: "POST",
url: http://localhost:83/test/example1,
data: { name: JSON.stringify(myObject), userId: UserId },
dataType: "json",
headers: {
'apikey': 'asdfee'
});
我的问题是如何安全传递此密钥?我不想直接暴露价值 有任何指示吗?
答案 0 :(得分:0)
简而言之,您无法在客户端保护密钥。客户端的任何内容都会暴露出来,任何人都可以查看。
话虽如此,你可以尝试这种方法。
尝试让任何想要获取密钥的人尽可能地努力。这意味着存储在本地存储中并缩小JavaScript代码。这不是100%,但对于任何想要获得它的人来说,这将使生活更加艰难。
介绍两者之间的另一层。我自己做过这样的事情,这个额外的层是另一个API。这是存储密钥的位置,这是您与其他API通信的位置。所以基本上你永远不会将API密钥暴露给客户端。您的前端调用此新API,新API调用受保护的API。正如我所说,中间有一层额外的层,但它确实有助于保持密钥的安全。