我使用了一组HttpsCallable函数,客户端使用这些函数来安全地调用后端的东西。我现在发现自己的后端(另一个云函数(需要触发一些相同的操作,所以理想情况下,我只需要从另一个云和函数调用HttpsCallable。
firebase管理中不提供可调用库,我认为这是因为它正在进行用户身份验证。
有可能以某种方式解决这个问题吗?也许我可以使用服务凭据来识别自己,并使用正常的HTTP云函数接口手动提供正确的负载?
如果需要从没有客户端库的环境中调用可调用函数,可以编写符合可调用函数协议规范的代码。它基本上只是一个具有特定标头和请求正文的POST请求。如果没有为最终用户提供ID令牌,身份验证将很困难。服务帐户根本没有帮助-只为Firebase Auth用户提供身份验证。
在某些情况下,最好使用第二个更容易调用的HTTP函数,并通过某些模块与可调用函数共享代码,但这取决于您。
如果您希望将访问HTTP功能的权限限制为服务帐户凭据,则必须使用Google Cloud文档了解和配置云功能的IAM权限。Firebase CLI还部署了具有"allUsers"访问权限的功能,以便移动客户端和web客户端能够访问这些功能——这并不能帮助您保护内部使用的功能。