如果javascript位于第三方站点上,如何从javascript验证RESTAPI?

如果javascript位于第三方站点上,如何从javascript验证RESTAPI?,javascript,jquery,python,api,Javascript,Jquery,Python,Api,我在第三方网站上放了一个javascript,这个js对我的服务器进行API调用。JS是公开可用的,第三方无法在JS中保存凭据 我想在共享JSON之前对API调用进行身份验证,还想对其进行速率限制。任何人都知道如何对API进行身份验证吗?这取决于您正在验证什么 如果要对使用API的每个用户进行身份验证,则必须执行以下操作: 你的网站必须在用户的浏览器中放入cookie 您的API需要支持CORS(我们使用easyXDM.js) 在登录到他们的站点时,他们的站点需要将用户发送到您的站点,以便传递

我在第三方网站上放了一个javascript,这个js对我的服务器进行API调用。JS是公开可用的,第三方无法在JS中保存凭据


我想在共享JSON之前对API调用进行身份验证,还想对其进行速率限制。任何人都知道如何对API进行身份验证吗?

这取决于您正在验证什么

如果要对使用API的每个用户进行身份验证,则必须执行以下操作:

  • 你的网站必须在用户的浏览器中放入cookie
  • 您的API需要支持CORS(我们使用easyXDM.js)
  • 在登录到他们的站点时,他们的站点需要将用户发送到您的站点,以便传递一个令牌,该令牌根据您的API对用户进行身份验证(反之亦然,取决于关系)
如果您只是验证某个站点是否有权使用您的API,则可以向该站点颁发API密钥。无论何时调用API,都要检查该API密钥

这种方法的问题在于JavaScript对最终用户是可见的。任何真正想使用您的API的人都可以使用相同的API密钥


如果没有某种服务器到服务器的调用,这不是真正的身份验证。充其量,你只是提供了一条非常薄弱的防线来抵御最明显的攻击。

@GeorgeStocker它是一个浏览器端集成。第三方不希望服务器端身份验证或任何来自javascript的用户名、密码身份验证