保护Chrome扩展程序中的网站API密钥

Jos*_*arl 24 javascript security google-chrome-extension

我正在使用Remember the Milk网络API构建Chrome扩展程序.为了调用此API中的方法,我需要使用API​​密钥和"共享密钥"密钥签署我的请求.

我担心的是,任何用户都可以破解扩展并提取这些值,如果我将它们包含在已发布的扩展中.这可能会或可能不会对用户造成安全性上升,但他或她当然可以使用/滥用我的API密钥并可能将其撤销.

这是我应该关注的吗?在已发布的JavaScript应用程序中是否有保护此类信息的最佳实践?

Gra*_*ham 16

最终,你无法真正隐藏在浏览器中运行的JS应用程序中的任何内容; 你可以对代码进行模糊处理或缩小代码,这会分散临时用户的注意力,但最终它总是可以获取你的明文秘密.

如果您确实需要防止这种情况发生,那么一种选择是将您的分机中的呼叫传递给您有权访问的服务器.您的服务器可以添加签名所需的任何参数,将呼叫转发到相关API,并将API的响应传递回用户.当然,这会增加您可能不需要的带宽/正常运行时间限制.

  • @JoshEarl编译的本机应用程序也有API密钥,并且可以(使用像Charles/Fiddler等SSL嗅探器)来提取它们.浏览器JS确实让它变得更容易. (5认同)
  • 如何阻止用户滥用您的网络服务? (2认同)