如何保护JAMstack应用中的(第三方)API密钥?

时间:2019-11-26 16:55:57

标签: javascript security browser api-key jamstack

因此,像往常一样,新的事物正在嗡嗡作响-JAMstack。我对嗡嗡作响的新想法的经验是,它们可能有用也可能没有用,但通常不是出于支持者给出的理由,抱歉是悲观主义者。从CDN服务静态网站而不是维护服务器-似乎是个好主意,现在我不需要支持自己的服务器,它不再是一个完整的应用程序。但是,假设应用程序需要访问google地图,例如向用户显示其业务方向。 JAMstack应用程序如何保护api密钥?假设这是一个适合小型企业的应用程序

最简单的答案是,您确实支持服务器,该服务器会在加载时向应用程序发送api密钥。对于静态应用程序,托管公司将具有一种机制来设置unix局部变量,该变量可以在将其发送到浏览器时读取或传递给应用程序。这是通常推荐的保护api密钥的方法。现在,该应用程序不再可以通过CDN提供。

我发现一个答案是,对于某些api,一个api密钥可能有一个限制,即只能在特定域中使用。我认为将在生成api密钥时进行设置。但是,可以欺骗引用域。

另一个答案是拥有一个功能/ lambda服务器,该服务器/ lambda服务器允许先前的机制起作用-检查调用方的域并在匹配时发出api密钥。无需维护,或者因为维护墨菲定律而很少维护。

我假设第三方api支持cors(即浏览器可以访问第三方网站)

我想听听其他想法。

0 个答案:

没有答案