【发布时间】:2019-07-22 07:44:29
【问题描述】:
我想让我的客户访问我的 API。 为了方便客户使用我的服务,他们只需要将javascript代码粘贴到他们的html页面中。
但是如何区分访问权限?我阅读了有关 jwt、api 密钥和令牌的信息,但它们都应该存储在客户端。这似乎是错误的。
在这种情况下我该怎么办?客户的便利性非常重要,所以我想留下简单地插入 JavaScript 代码的可能性。
也许我可以以某种方式跟踪请求来自的域或类似的东西?
附:我正在使用 Django Rest 框架来构建 API
【问题讨论】:
-
我不明白为什么粘贴 javascript 被认为是“客户便利”(imo 你可以让他成为一个网页来提供 API)。但是,如果您想通过粘贴 javascript 来识别您的客户端,您的 javascript 需要对您的服务器进行 ajax 调用。并且您的服务器需要对客户端进行身份验证(在您向他发送 javascript 之前生成的令牌,或者例如,将客户端的电子邮件保存在数据库中然后要求他填写)
-
我网站上的客户端填写了所有必要的数据。我可以给他 API 密钥。我的服务的本质是,在每种自动模式下,每次访问者访问客户的站点时,都会执行 javascript 代码,它会向我的 API 发送请求并显示接收到的数据。问题是有人可以在浏览器中打开开发人员工具,查看 api 密钥,并以我的客户端为幌子对我的 API 执行请求。我想了解如何保护自己免受此类伤害)
-
@AliMan — 你不能。
标签: javascript html api security django-rest-framework