繁体   English   中英

Firebase 通过 email 邀请用户并添加到公司

[英]Firebase Invite user by email and add to a company

我有一个 React 应用程序,其中每个用户都属于一家公司。 该公司的第一个人是经理,他可以邀请其他用户。 他们将获得一个 email 链接进行注册。

如何将 companyId(或用于连接它们的另一条信息)附加到邀请中,以便在邀请新用户并对其进行身份验证时将此人添加到公司?

我有两种可能的解决方案。

  1. 添加一个受邀电子邮件数组到公司集合并运行云 function 以检查新用户 email 是否属于该公司。
  2. 在邀请中的某处添加公司的 ID,并在新用户注册时获取此 ID。 但不知道在哪里或如何。

您可以创建 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM