【发布时间】:2018-08-30 21:57:56
【问题描述】:
我正在做一个 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'
});
我的问题是如何安全地传递此密钥?我不想直接暴露价值。
请问有什么方向吗?
【问题讨论】:
-
没有正确的解决方案。任何可能的存储密钥的方式都可以被浏览器读取 = 任何可以访问您浏览器的人都可以读取
-
我如何安全地传递此密钥您可以使用 SSL 安全地传递密钥,但这只会保护通信。没有办法将该密钥安全地存储在您的代码中,因为它对每个人都是公开可见的。为了保护这样的密钥,通常使用OAuth 的一些风格,尽管这不再是标准化的。基本上这不是安全(句号)
-
如果您担心这一点,您应该使用 AJAX 发布到服务器上的控制器,然后您的服务器可以安全地发布到需要 API 密钥的 API。
标签: c# jquery asp.net-web-api