2

所以,像往常一样,一些新的东西正在嗡嗡作响——JAMstack。我对嗡嗡的新想法的经验是它们可能有用也可能没有用,但通常不是因为支持者给出的原因,很抱歉成为悲观主义者。从 CDN 提供静态网站而不是维护服务器 - 似乎是个好主意,现在我不需要支持我自己的服务器,它不再是一个全栈应用程序。但是,让我们假设应用程序需要访问谷歌地图,例如向用户显示他们的业务方向。JAMstack 应用程序如何保护 api 密钥?让我们假设这是一个小型企业的应用程序

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

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

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

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

我想听听其他想法。

4

0 回答 0