是否可以拦截直接从客户端调用 Firebase https 函数?

The*_*Ben 1 firebase firebase-authentication google-cloud-functions google-cloud-firestore

现在我们可以直接从客户端调用 HTTPS 函数,我想知道是否可以将它用于敏感的事务请求以及它是否安全。之前我使用带有 POST 方法的表单,但这可以使事情变得更简单。

通话从头到尾都加密了吗?

Dou*_*son 6

一开始可能并不明显,但您在这里提出了很多问题。消除您的担忧可能需要一些时间

首先,Cloud Functions HTTPS 函数和可调用函数都是加密的。事实上,所有进出 Google 的流量都是加密的。这是常态,如果您愿意,您甚至无法禁用它。然而,加密流量并不一定意味着它是“安全的”。加密只是保证不会有中间人攻击窃听或更改传入或传出的内容。

加密并不能阻止某人直接从自己的代码中直接调用该函数。对于 HTTPS 和可调用函数,任何人都很有可能直接调用您的函数。没有要求呼叫必须来自您的应用程序或网站。如果这是您的要求,您需要在函数本身中执行一些检查以确保调用有效。

使用 HTTP 类型函数,您可以要求调用者随请求发送身份验证令牌。然后,您可以验证函数中的令牌,仅当一切正常时才继续。官方示例中有一个这样的例子。

使用可调用类型函数,如果用户使用 Firebase Auth 登录,则会自动添加身份验证令牌。令牌也会自动验证。您所要做的就是检查是否允许用户执行呼叫想做的任何事情。

“安全”不仅仅是加密。它还包括身份验证和授权。