【发布时间】:2020-04-23 01:29:55
【问题描述】:
作为构建生产应用程序的一部分,我有办法更改用户的电子邮件地址。我这样做是使用
firebase.auth().updateEmail(newEmail);
这很好用,我收到一封电子邮件,说我的电子邮件已更改。我的问题是,我还收到了一个链接,可以让我恢复我的旧电子邮件(一个方便的安全功能等),但这会导致我存储的电子邮件地址不同步的问题。
我将有关用户的信息存储在集合中,当他们使用上述代码更改电子邮件地址时,我也会使用他们的新电子邮件更新集合。
问题是,如果他们单击恢复链接,则电子邮件地址会在用户身份验证方面被重置,但不会在我的收藏中重置。
我一直试图找到的东西是这样的,但我找不到它
functions.auth.user().onEmailChange(async (newEmail, context) =>
{
admin.firestore().collection(Collections.USERS_PRIVATE).doc(context.params.uid).update({ email: newEmail });
});
这样我就可以镜像我的收藏以始终与用户身份验证电子邮件地址同步。
【问题讨论】:
标签: node.js firebase firebase-authentication google-cloud-functions