You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移Firebase JS函数至Python:是否支持Auth用户删除事件监听器?

Firebase Auth用户删除触发器的Python等价方案说明

Firebase Functions的Python SDK目前不支持Auth用户删除(onDelete)的触发器,你没有遗漏相关内容——这类Auth生命周期事件的触发器(包括用户创建、删除等)目前仅在Node.js/TypeScript SDK中提供,Python SDK暂未实现对应功能。

如果需要用Python处理用户删除后的文档清理逻辑,可以参考以下替代方案:

方案1:Node.js触发器中转 + Python Pub/Sub订阅

用极简的Node.js函数监听Auth用户删除事件,将用户ID转发到Cloud Pub/Sub,再用Python编写Pub/Sub订阅函数处理文档删除:

Node.js中转函数

exports.forwardUserDelete = functions.auth.user().onDelete((user) => {
  const pubsub = require('@google-cloud/pubsub')();
  const topic = pubsub.topic('user-deleted-topic');
  return topic.publishJSON({ uid: user.uid });
});

Python Pub/Sub订阅函数

import functions_framework
from google.cloud import firestore
import base64
import json

db = firestore.Client()

@functions_framework.cloud_event
def handle_user_delete(cloud_event):
    data = base64.b64decode(cloud_event.data['message']['data']).decode('utf-8')
    user_data = json.loads(data)
    user_uid = user_data['uid']
    # 删除对应的用户文档
    db.collection('users').document(user_uid).delete()
    return 'User document deleted'

方案2:后端业务逻辑中同步处理

如果你的用户删除操作是通过自有后端API发起的,可在调用Firebase Admin SDK删除用户的同时,直接执行Python代码删除对应文档:

import firebase_admin
from firebase_admin import auth, firestore

firebase_admin.initialize_app()
db = firestore.client()

def delete_user_and_doc(user_uid):
    # 删除Auth用户
    auth.delete_user(user_uid)
    # 删除对应Firestore文档
    db.collection('users').document(user_uid).delete()

内容的提问来源于stack exchange,提问作者okay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 18:32:45