我想围绕我在服务器上托管的 ajax API 创建一个小部件。该小部件也将由我的服务器提供,并放置在第 3 方网站上。小部件必须能够访问托管页面的 DOM(因为它访问页面上的表单数据),因此必须使用脚本标签而不是 iframe 来嵌入它。
当按下按钮时,小部件将点击我的 API,接收响应,并将其插入到托管页面的表单中。
到目前为止,使用脚本标签和 ajax 都很好。在几分钟内运行了一个快速的概念验证。但是我怎样才能阻止第四方查看第三方页面上的代码并复制它以便在他们的页面上也有小部件?该小部件将免费提供给所有人,但我想知道谁在使用它并控制访问。我还想让人们在没有小部件的情况下访问 API。
我已经集思广益了很多签名和散列的想法、过期令牌、第 3 方服务器端代理、在客户端上使用 Flash 等等,但我无法想出一个坚定的欺骗者无法公平解决的问题容易地。
换句话说,我想确保只有呈现小部件的客户端才能调用 API 并获得响应。
也许还有另一种方式来思考这个问题?