我正在写一个
javascript插件,将由博主/网站所有者安装.它将与我的远程API通信.
我想知道如何保护API以确保只有已注册该服务帐户的用户拥有的域才能访问API中的资源.我已经阅读了OAuth2并了解了基础知识,但由于插件将在浏览器内运行,而不是从服务器运行到服务器,因此我不确定这是多么安全.
大量的服务,如mixpanel,谷歌分析,olark使用相同的概念(即网站所有者在他们的网站上安装一行JS),所以它必须是一个解决的问题.
解决方法
您可以将window.location检查插入到脚本中,以防止其他人直接将其包含在您的服务器之外.
但是,不可能阻止人们在本地下载脚本,删除保护,然后自己托管.
您可以在所有服务器端请求中要求API密钥,但敌人可以轻松地从合法网站窃取API密钥.