【发布时间】:2020-06-24 11:41:02
【问题描述】:
我有两种类型的用户,管理员和普通用户。在我的 firebase 数据库中,每个管理员在“文本”集合中都有一个文档。因此,当创建一个新用户时,我想检查它是否是管理员。 然而,在我的 Flutter 客户端上,除了电子邮件和密码之外,我无法传递任何其他参数,那么我的函数如何知道创建帐户的用户是否是管理员?
这是我没有检查的功能:
exports.onAdminCreate = functions.auth.user().onCreate((user) => {
// If user is an admin
try {
return admin.firestore().collection('texts').doc(user.uid).create({author: user.displayName, text: null});
} catch (e) {
console.log(e);
return null;
}
// Else
console.log('No admin');
return null;
});
【问题讨论】:
-
无法将附加信息传递给
auth.user().onCreate函数。典型的解决方法是在从客户端创建用户后调用可调用云函数,或者让该云函数处理整个用户创建并从客户端调用它。 -
@FrankvanPuffelen 好的,谢谢
标签: javascript firebase firebase-authentication google-cloud-functions