如何在Firebase身份验证中更改电子邮件?

8 浏览
0 Comments

如何在Firebase身份验证中更改电子邮件?

我正在尝试使用以下代码更改/更新用户的电子邮件地址:

firebase.auth().changeEmail({oldEmail, newEmail, password}, cb)

但是我遇到了...changeEmail不是一个函数的错误。我在旧的firebase文档中找到了这里的参考信息。

那么在3.x版本中该如何操作呢?因为在新文档中我找不到相关的参考。

0
0 Comments

问题的原因是在Firebase V9版本中,导入了updateEmail方法,但是导入的方法不适用于之前版本的Firebase。解决方法是按照下面的代码,导入updateEmail方法并使用它来更新邮箱地址。需要注意的是,在使用这段代码之前,需要重新登录Firebase用户,以获取最新的登录令牌。

import { getAuth, updateEmail } from "firebase/auth";
const auth = getAuth();
updateEmail(auth.currentUser, "user.com").then(() => {
  // 邮箱地址已更新!
  // ...
}).catch((error) => {
  // 发生错误
  // ...
});

感谢,这段代码有效。如果其他人尝试这段代码,请不要忘记重新登录Firebase用户(Firebase需要最近的登录令牌),然后才能更改邮箱地址。

0
0 Comments

问题的原因是用户想要在Firebase身份验证中更改电子邮件地址。解决方法是使用Firebase用户对象上的updateEmail()方法来更新电子邮件地址。用户需要先登录,然后使用正确的密码调用signInWithEmailAndPassword()方法进行身份验证。然后,使用updateEmail()方法将新的电子邮件地址作为参数传递给user对象。下面是示例代码:

firebase.auth()
    .signInWithEmailAndPassword('you.example', 'correcthorsebatterystaple')
    .then(function(userCredential) {
        userCredential.user.updateEmail('newyou.example')
    })

另外,有其他用户在参考文档中找到了答案,并分享了链接,这也是一种解决方法。

0
0 Comments

更改Firebase身份验证中的电子邮件的方法是使用Firebase Admin进行操作。具体的步骤如下:

1. 首先,需要使用Firebase Admin提供的方法来更新用户的电子邮件。

2. 使用以下代码来更新用户的电子邮件:

admin.auth().updateUser(uid, {
  email: "modifiedUser.com"
});

这是最简洁的方法。

3. 但有一个问题需要注意,就是更改用户的电子邮件是否会在整个身份验证服务中完全更新。有人担心使用管理员SDK更改某人的电子邮件后,这个更改是否能够在身份验证服务中完全传播。

希望以上内容能够帮助到您。

0