如何在创建新用户flutter的同时保持当前用户的完整性


FirebaseUser user = (await FirebaseAuth.instance.createUserWithEmailAndPassword(email: email, password: password)).user;
await Firestore.instance.collection("users").add({
'uid': user.uid,
'email': email,
'name': name,
'phone': number,
'TodaySale': "0",
'MonthlySale': "0",
'Permission': permission
});
Firestore.instance.collection("employees").add({
'Name': name,
'Address': address,
'Permission': permission,
'Phone': number,
'Email': email,
});

我已经登录该应用程序,并试图创建新员工,其数据存储在用户集合和员工集合中。但在执行代码后,当前用户将更改为添加的员工。如何在保持当前用户与登录时相同的情况下创建用户。

如文档中所述,createUserWithEmailAndPassword()方法"是两步操作;它将首先创建新帐户(如果它还不存在并且密码有效(,然后自动将用户登录到该帐户">使用从前端调用的方法(即从Flutter应用程序(,无法避免自动登录

您需要通过后端流程注册这些用户,例如通过云功能。

下面的文章解释了如何构建一个模块,该模块允许具有特定管理员角色的最终用户创建其他用户并为他们分配其他特定用户角色。简而言之:从前端,登录用户使用新的用户数据调用一个可调用的云函数。在后端,Cloud函数在Auth服务中创建用户(并在Firestore中创建用户文档,与Firestore.instance.collection("employees").add()完全一样(。因此,前端中的当前用户没有注销。

最新更新