如果我可以从客户端安全地访问数据,为什么JAMStack应用程序需要无服务器功能?

时间:2020-04-21 23:25:09

标签: aws-lambda serverless netlify vercel jamstack

JAMStack人们正在使用Netlify / Zeit(或AWS Lambda)功能来访问其数据库。但是有像Firestore这样的云数据库,您可以按照here的说明从Web /移动应用安全,直接地访问它们。那么为什么人们也不将数据访问逻辑也嵌入他们的客户端应用程序中?为什么他们需要额外的无服务器功能层?

2 个答案:

答案 0 :(得分:1)

对于您提到的示例,您是完全正确的。 ?

无服务器功能可提供更多机会。以发送电子邮件为例。电子邮件提供商通常不提供从客户端发送电子邮件的方法(我想是这样),在这种情况下,无服务器功能可以提供帮助。

此外,并非每个数据存储服务都提供一种直接从客户端安全访问数据/将数据写入数据库的方法。在另一种情况下,您可以使用无服务器功能。

也就是说,无服务器功能提供了一种相当新颖的方式来快速编排和组合服务以支持和丰富您的静态站点。

希望有帮助。 :)

答案 1 :(得分:1)

如果您不想向终端应用程序公开敏感信息(例如密码,令牌,密钥),则可以使用无服务器功能。在这种情况下,您可以将该函数设置为中间人并注入此敏感信息,然后将其安全地存储在服务器上,而不是存储在用户的客户端应用程序中(用户可以在其中入侵您的敏感数据)。

例如,这就是Node.js中的process.env.VARIABLE。