Apple登录并更新Firebase电子邮件

时间:2020-06-10 21:36:55

标签: ios firebase flutter dart firebase-authentication

我正在使用Apple登录来登录用户到我的应用,然后在Firebase上进行身份验证。现在,有时用户不共享他们的电子邮件,在这种情况下,Apple提供了一个虚构的电子邮件。登录后,首先使用firebase验证电子邮件,将电子邮件存储在数据库中。我先在Firebase上用真实的电子邮件更新虚拟电子邮件,然后发送验证电子邮件。在Firebase上更新了主要电子邮件之后,如果Apple仍会提供旧的虚拟电子邮件,则用户可以再次登录Apple吗?

FirebaseUser firebaseUser = await FirebaseAuth.instance.currentUser();
await firebaseUser.updateEmail(email);
await firebaseUser.sendEmailVerification();

1 个答案:

答案 0 :(得分:0)

如果您使用“使用Apple登录”更新用户的电子邮件,则该用户仍然可以照常登录。

请注意,该帐户上有2封电子邮件,一组在提供商级别(例如user.providerData[0].email),另一组在顶级级别(user.email)。

在创建帐户(首次与Apple签约)时,两封电子邮件都将设置为Apple设置的电子邮件。 updateEmail操作完成后,顶层的一个(user.email)将被更新,而另一个顶层的user.providerData[0].email将保持不变。