【发布时间】:2011-05-29 23:20:38
【问题描述】:
我公开了一个简单的 API,需要确保只有授权用户才能访问它。我将提供一个 API 密钥来进行身份验证。但是,我还想将 API 密钥与某个域相关联(也就是说,只有在授权域中使用它时才能使用它)。
如何在 API 端检查它是否是从授权域访问的? HTTP_REFERER 显然不可靠。有什么建议吗?
【问题讨论】:
-
API是如何使用的?它是通过 JavaScript 访问的?
-
有些可以通过 JavaScript 访问(因为它使用 GET),而有些则不能(因为它使用 POST)。
-
Javascript 可以做 POST 就好了。
-
不是到不同的域,这就是 API 所在的地方。同源政策。对于 GET,jQuery 有 getJSON,这是一种解决方法。