因此,既然我们可以直接从客户端call HTTPS functions来,我想知道我是否可以将其用于敏感的交易请求,以及它是否安全。在使用带有POST方法的表单之前,但这会使事情变得简单得多。
从头到尾的通话是否已加密?
答案 0 :(得分:1)
您引用的文档中明确提到可调用函数是HTTP S 函数,因此,是的,调用是从端到端加密的。
Firebase客户端SDK的Cloud Functions让您调用函数 直接从Firebase应用程序。在此从您的应用程序调用函数 在Cloud Functions中编写和部署HTTP S 可调用函数的方式, 然后添加客户端逻辑以从您的应用中调用该函数。
答案 1 :(得分:1)
乍一看可能并不明显,但是您在这里提出了很多问题。可能需要一些时间来消除您的担忧
首先,Cloud Functions HTTPS函数和可调用函数均被加密。实际上,所有进出Google的流量都是经过加密的。那是规范,如果您愿意的话,甚至不能禁用它。但是,加密的流量并不一定意味着它是“安全的”。加密只是保证不会有中间人攻击在进入或退出过程中窃听或更改内容。
加密不会阻止某人简单地直接从其自己的代码中调用该函数。对于HTTPS和可调用函数,任何人都非常有可能直接调用您的函数。没有要求呼叫必须来自您的应用程序或网站的要求。如果您需要这样做,则需要对函数本身进行一些检查,以确保调用有效。
使用HTTP类型的功能,您可以要求调用方随请求发送身份验证令牌。然后,您可以在函数中验证令牌,并且仅在一切正常后再继续操作。有an example of this in the official samples。
使用可调用类型函数,如果用户使用Firebase Auth登录,则会自动添加身份验证令牌。令牌也会自动验证。您所要做的就是检查是否允许用户执行呼叫要执行的操作。
“安全性”不仅与加密有关。它同时包括身份验证和授权。