Chrome 扩展 Bing 翻译

Chrome Extension Bing Translation

我正在编写一个 chrome 扩展,它将使用 Bing 翻译 API。要使用它,我需要一个访问令牌,我可以使用我的 clientID 和客户端密码请求它。每十分钟过期一次。

做这个客户端的正确方法是什么?我显然不想分发我的客户端机密,但访问令牌每十分钟过期一次。

您无法以无懈可击的方式保护客户端。

你基本上有两个选择。

  1. 接受可以检查您的扩展代码并提取秘密的事实。然后,您可以使用 chrome.identity 以这种方式使用 OAuth。考虑到 API 是收费的,这是次优的。

  2. 将机密移至某个托管服务器。然后,您的扩展程序将不得不向服务器请求令牌(该令牌过期,此时需要从您的服务器重新请求)。这是唯一安全的方法。

Some APIs(不是 Bing)提供了一种仅使用客户端 ID 的身份验证方法,理解 JavaScript 客户端无法保护秘密。这不是此处的选项 - 您的代码应该 生成服务器端令牌。