首页 > 解决方案 > 可调用的 HTTPS 函数和带参数的 HTTPS 函数有什么区别?

问题描述

在 HTTPS Callable 函数中,如果语句检查 context.auth 是否存在,是否保证调用用户经过身份验证并且与 context.auth.uid 相同?

阅读此代码 和此页面后,我对这些功能的工作方式有不同的想法

在代码中,它使用婴儿车来获取并检查婴儿车是否具有身份验证令牌。在第二个文档中,它仅使用上下文来获取身份验证令牌。

我在想第一个代码是旧的,然后是文档中的代码,有人可以清除这个吗?

标签: google-cloud-functions

解决方案


第一个示例不是Callable Cloud Function,而是常规的 HTTP(S) Cloud Function/web hook。在该示例的实现中,它对req.headers.authorization标头进行解码并使用admin.auth().verifyIdToken(idToken). 调用此 Cloud Function 的客户端将需要确保它在authorization标头中传递有效的 ID 令牌。

第二个示例Callable Cloud Function。此处客户端的 Functions SDK 自动传递 ID 令牌,服务器上的 Functions SDK 自动解码并验证该令牌。所以这与之前发生的过程几乎相同,您不必自己编写代码。


推荐阅读