【发布时间】:2019-12-19 13:50:56
【问题描述】:
我试图在从客户端调用时向 Firebase HttpsCallable 函数添加一些自定义标头。但是 firebase.functions.HttpsCallable 不提供任何自定义标头的方法。第二个参数“options”只支持“timeout”。
是否有任何解决方法或替代解决方案可以将标头添加到 Firebase 函数?
【问题讨论】:
标签: firebase google-cloud-functions
我试图在从客户端调用时向 Firebase HttpsCallable 函数添加一些自定义标头。但是 firebase.functions.HttpsCallable 不提供任何自定义标头的方法。第二个参数“options”只支持“timeout”。
是否有任何解决方法或替代解决方案可以将标头添加到 Firebase 函数?
【问题讨论】:
标签: firebase google-cloud-functions
正如protocol specification for https.onCall 中所述,在调用 Callable Cloud Function 时,您只能有以下标头:
必填:
Content-Type: application/json
一个可选的;charset=utf-8是允许的。可选:
Authorization: Bearer <token>
Firebase 身份验证 发出请求的登录用户的用户 ID 令牌。后端 自动验证此令牌并使其在 处理程序的context。如果令牌无效,则请求被拒绝。可选:
Firebase-Instance-ID-Token: <iid>
实例 ID 令牌 来自 Firebase 客户端 SDK。这必须是一个字符串。这是可用的 在处理程序的context中。对于发送推送特别有用 通知。
文档补充说:
如果包含任何其他标头,则请求被拒绝
另一方面,使用HTTP Cloud Functions,您可以添加任何您想要的自定义标题。但是,通过使用 HTTP Cloud Function,您将失去 Callable Cloud Function 的优势(即 Firebase 身份验证和 FCM 令牌自动包含在请求和 functions.https.onCall 触发器会自动反序列化请求正文并验证身份验证令牌)。
【讨论】: