我们目前有一个受公钥和私钥加密保护的API。来自给定域/ IP的对API的所有请求必须使用私钥和公钥对进行验证。当从外部网站或静态IP调用API时,这非常有效。
但是,我们现在希望在Chrome应用内部使用此API,这显然会在用户的浏览器中运行。请求将使用AJAX从客户端进行,当然它们不会来自单个IP,并且域将不存在。
我们希望阻止对端点的不受控制的访问,同时允许从Chrome应用程序进行有效的调用。到目前为止,一个建议是包含一个标志,指示呼叫是否来自应用程序,但当然有人可以检查HTTP标头并发布数据,并欺骗它以包含标志。
有没有人建议我们如何锁定API以确保允许来自Chrome应用的来电,但来自其他域或不使用密钥的IP地址的来电不是?
我们还打算最终在Adobe AIR应用程序中使用端点,因此找到一个强大的解决方案会很棒!如果可能,我们希望避免使用中介或pass-thru网关。