我创建了一个firebase云功能,该功能将在删除用户时触发,如firebase文档中所述:
const admin = require('firebase-admin');
const functions = require('firebase-functions');
const firestore = admin.firestore();
admin.initializeApp();
exports.deleteUserData = functions.auth.user().onDelete((event) => {
const uid = event.uid;
const firestorePromise = clearFirestoreData(uid);
return Promise.all([firestorePromise])
.then(() => console.log(`Successfully removed data for user #${uid}.`)
);
});
从我的iOS应用程序中删除用户后,请致电:
user.reauthenticate(with: credential) { result, error in
if let error = error {
completion(error)
} else {
user.delete { error in
if let error = error {
completion(error)
} else {
completion(nil)
}
}
}
}
在firebase中,从“身份验证”中删除了用户,但未触发该功能。
如果我直接从Firebase控制台的“身份验证”中删除用户,则会触发该功能并成功删除用户的数据。
我正在使用:
"firebase-admin": "^8.8.0",
"firebase-functions": "^3.1.0"
答案 0 :(得分:2)
其他人也报告了相同的问题。参见讨论here。
这似乎是Cloud Functions的错误。如果真是这样,那么堆栈溢出将无济于事。
我鼓励您file a bug report directly with Firebase support,以便他们收集数据并升级为工程技术。