【发布时间】:2020-10-25 09:31:54
【问题描述】:
exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
console.log(user.uid);
console.log(user.email);
console.log(user.displayName);
});
exports.getUserInfo = functions.https.onCall(async (data, context) => {
// get array of user IDs and returns information (from Users collection)
const userIDs = data.userIDs;
const result = [];
const querySnapData = await admin.firestore().collection("Users").get();
querySnapData.forEach((ele) => {
if (userIDs.indexOf(ele.id) !== -1 && ele.id !== context.auth.uid) {
result.push(ele.data());
}
});
return { res: result };
});
我的项目中有这两个函数 - 一个是可调用函数,另一个是身份验证触发函数。
所以在我的客户端应用程序中,我运行
firebase.functions().useFunctionsEmulator('http://localhost:5001');
let getUserInfo = functions.httpsCallable('getUserInfo');
getUserInfo({userIDs: data}).then(res => doSomething);
并在本地运行云功能
firebase emulators:start
但它说
functions[sendWelcomeEmail]: function ignored because the auth emulator does not exist or is not running.
所以在客户端 App 中,getUserInfo 运行良好,但无法触发 onCreate。
但我找不到任何关于 auth emulator 的文档。
感谢任何链接/文章/视频或答案。
【问题讨论】:
标签: node.js firebase-authentication google-cloud-functions firebase-tools