javascript - 安全 Ajax 调用 On Rest Api

标签 javascript jquery ajax rest security

我在面试中被问到这个问题。我在网上搜索但找不到以对我有意义的方式解释它的线程。

假设我有一个 web 服务,它返回一个可用的列表 在公共(public)领域(任何人都可以使用)为了安全,用户需要一个 key 才能访问该 Web 服务。

我如何在 Ajax 中安全地使用该 Web 服务。

问题是如果我使用 Ajax 访问该 Web 服务,任何人都可以看到我的私钥,

我建议进行加密,但我必须以解密形式传递该 key (正如我得到的那样) 比我建议的中介文件(在服务器端)我可以在上面调用该 Web 服务但是如果有人直接访问该中介文件怎么办(我知道同源策略)

我真的很想知道克服这些问题的可能解决方案是什么,以及在休息时进行安全 ajax 调用的最佳做法是什么

最佳答案

事实上,在 OAuth2 中有一个专门用于这种特定用例的安全流程,称为“隐式授权流程”。

您可以查看这些链接以获取更多详细信息:

如果您不使用 OAuth2,您可以建议用户进行身份验证并取回访问 token 。您可以将其存储在浏览器的本地存储中,但您需要非常小心 XSS。这个问题(及其答案)可以为您提供有关此类问题的一些提示:What are (if any) the security drawbacks of REST Basic Authentication with Javascript clients? .

希望对你有帮助, 蒂埃里

关于javascript - 安全 Ajax 调用 On Rest Api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32777168/

相关文章:

javascript - Three.js - 一次加载 JSON 模型并多次添加

javascript - 在特定条件下逐步执行javascript或Jquery

javascript - 在错误放置中使用 error.appendTo 方法

javascript - Ajax的header是做什么的

jquery - 如何获取DataTables的一行数据?

javascript - 在 Windows 命令行中运行 JavaScript

javascript - 类型错误 : Cannot read property 'get' of undefined (Gravatar service)

jquery - 使用 jQuery 可拖动/可放置调整拾取元素的大小

ajax - jQuery 与 AJAX

javascript - 在 React 中删除计时器的正确方法是什么?当执行 onClick 函数后创建它们时