繁体   English   中英

为什么 context.auth 没有出现在 Firebase 函数 onCreate 文档触发器的 context:EventContext 参数中?

[英]Why isn't context.auth appearing in the context:EventContext parameter on the Firebase function onCreate document trigger?

问题:可选的 context.auth.uid 应该是 firebase 触发器参数的一部分,但没有提供。

我正在 Firebase Cloud Functions 上编写文档 onCreate 触发器。 此触发器将使用触发文档中的一些数据和创建它的用户的 UID 编写子集合文档。

标准触发函数将接受以下内容

export const onCreateUnit = functions.firestore.document('/units/{unitId}').onCreate((snap, context) => {

https://firebase.google.com/docs/reference/functions/providers_firestore.documentbuilder.html#oncreate

上下文对象应包含一个身份验证对象,该对象将包含 uid 和令牌

context: {
    ...contextProperties,
    auth: {
        uid: XXXXXX-XXXX-XXXX,
        token: YYYYYYYYYYY
    }
}

有些事情要记住。

  1. 这是一个可选属性
  2. 如果用户正在创建此文档,则应填写此属性
  3. firestore 数据库中的所有文档都实施了防止非用户创建文档的规则。
  4. 客户端是一个 React-Typescript 项目
  5. 客户端登录到 Firebase 并等待 onAuthStateChanged 函数在创建文档之前传递用户。
  6. 没有错误被抛出
  7. 触发函数在创建触发文档时确认被调用。
  8. context.auth 属性未定义

为什么上下文中没有提供 auth 属性? 我该如何解决?

看起来您没有提供从前端到在一起的数据,请检查您的用户是否已经登录,这发生在我身上几次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM