【发布时间】:2012-06-21 16:07:57
【问题描述】:
我正在托管一项需要消费者传递 API 密钥的服务。它可以被服务器端(Ruby、Python 等)和使用 Javascript 的客户端应用程序使用。
是否可以从仅 Javascript 的应用程序安全地使用 API 密钥?我暂时想不出任何方法来实现这一点
【问题讨论】:
标签: javascript security api api-key
我正在托管一项需要消费者传递 API 密钥的服务。它可以被服务器端(Ruby、Python 等)和使用 Javascript 的客户端应用程序使用。
是否可以从仅 Javascript 的应用程序安全地使用 API 密钥?我暂时想不出任何方法来实现这一点
【问题讨论】:
标签: javascript security api api-key
如果密钥是敏感数据,则不会。
所有 Javascript 对用户可见,因此即使是加密的密钥也可以被解密。如果密钥必须保密,则不得在任何客户端代码或内容中使用它。
如果密钥需要完全保密,则密钥的通信必须是服务器到服务器的。大量 javascript 的 UI 仍然需要使用服务器作为中介来代理对您的服务的调用。除非客户愿意将他的服务密钥泄露给他的用户,否则一个完整的纯 JavaScript 用户界面不是一种选择。
【讨论】: