我想了解关于Firebase的云功能。我按照教程创建了一个验证触发器,它工作得很好,但是现在我需要将用户想要使用的username
传递给我的验证事件。我该怎么做呢?也许我在这里使用了错误的触发器,而需要一个HTTP触发器?
exports.newUserSignup = functions.auth.user().onCreate(user => {
console.log('user created', user.email, user.uid);
const doc = admin.firestore().collection('users').doc();
return doc.set({
createDate: admin.firestore.FieldValue.serverTimestamp(),
modifiedDate: admin.firestore.FieldValue.serverTimestamp(),
username: 'NEED TO FIGURE THIS OUT',
email: user.email,
stat: 1,
uid: user.uid,
rowpointer: doc.id,
});
});
没有办法将附加信息传递给auth.user().onCreate
触发器,不幸的是,当帐户更新时没有办法触发。
你当前的选项是:
- 在创建帐户后从应用程序代码中创建文档。
- 将所有信息传递给Callable或HTTP Cloud Function,并让它处理帐户创建和写入Firestore。
两个选项都是完全有效的,所以选择一个对你来说最合理的。
也看到:
- 如何在functions.auth.user()之后完成登录。onCreate已完成
- Firebase Cloud功能-空用户。displayName onCreate
- firebase cloud function authentication: onCreate事件不包含displayName
- Firebase函数user()。onCreate:传递参数