【问题标题】:Firebase cloud functions not triggering on user creationFirebase 云功能未在用户创建时触发
【发布时间】:2018-06-04 02:41:17
【问题描述】:

我有一个基于新身份验证触发的 firebase 云功能,该身份验证将用户信息记录在 firebase 实时数据库中。由于某种原因,云功能未触发,用户未在数据库中注册。 这是我尝试部署的云功能的代码

Index.js

const functions = require('firebase-functions')
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase);

const ref = admin.database().ref()

exports.creatUserAccount = functions.auth.user().onCreate(event => {
  const uid = event.data.uid
  const displayName = event.data.displayName
  const email = event.data.email
  const photoURL = event.data.photoURL || 'https://yt3.ggpht.com/-Sz69_iENQd4/AAAAAAAAAAI/AAAAAAAAAAA/zLg-bS6DJFo/s900-c-k-no-mo-rj-c0xffffff/photo.jpg'
  const phoneNumber = event.data.phoneNumber || ''
  const batchList = ['']

  const newUserRef = ref.child(`/users/students/${uid}`)
  return newUserRef.set({
    displayName: displayName,
    email: email,
    photoURL: photoURL,
    uid: uid,
    isDeleted: false,
    phoneNumber: phoneNumber,
    batchList: batchList,
  })
})

exports.deleteUserAccount = functions.auth.user().onDelete(event => {
  const uid = event.data.uid
  const userRef = ref.child(`users/students/${uid}`)
  return userRef.update({ isDeleted: true })
})

firebase 日志为空,无法帮助我解决问题

【问题讨论】:

    标签: firebase firebase-realtime-database firebase-authentication google-cloud-functions


    【解决方案1】:

    您的代码很好。首先,检查包版本。

    -- current
    "firebase-admin": "^5.5.1",
    "firebase-functions": "^0.7.5"
    

    【讨论】:

      【解决方案2】:

      如果您有机会在本地模拟 Cloud Functions,以下网址可能对您有用。

      https://firebase.google.com/docs/functions/local-emulator

      基本上,如文档中所述,您必须生成一个服务帐户密钥,将包含此密钥的 JSON 文件下载到您的开发工作站,并创建一个引用所述 JSON 文件的系统变量 GOOGLE_APPLICATION_CREDENTIALS

      如文档中所述,如果您希望在本地测试不是由数据库/云 Firestore 更改触发的触发器,则此服务帐户密钥必不可少。

      希望有所帮助。

      【讨论】:

        猜你喜欢
        • 2021-11-27
        • 1970-01-01
        • 2020-03-28
        • 1970-01-01
        • 2020-03-23
        • 2019-09-09
        • 2018-08-28
        相关资源
        最近更新 更多