[英]Firebase Invite user by email and add to a company
我有一个 React 应用程序,其中每个用户都属于一家公司。 该公司的第一个人是经理,他可以邀请其他用户。 他们将获得一个 email 链接进行注册。
如何将 companyId(或用于连接它们的另一条信息)附加到邀请中,以便在邀请新用户并对其进行身份验证时将此人添加到公司?
我有两种可能的解决方案。
您可以创建 2 个主要 collections - 公司和用户。 当第一个用户加入时,使用companyId
作为文档 ID 创建公司文档以及用户自己的文档(并将companyId
存储为字段)。 每当经理添加用户时,您可以在用户集合中创建与经理相同的companyId
的另一个文档,将状态字段存储为“已邀请”并向用户发送登录链接。
您可以使用Callable Cloud Function ,如下所示:
exports.inviteUser = functions.https.onCall((data, context) => {
const { email } = data;
const { uid } = context.auth;
// 1. Find user's companyId using caller's UID
// 2. Add a document in users collection invited user with their email
// 3. Generate a sign in link and email to user.
return { message: "User invited" }
});
您可以使用Firebase Admin SDK 生成登录链接。 您需要第三方服务才能通过电子邮件发送链接。 Firebase 触发器 Email扩展应该使这更容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.