【发布时间】:2021-12-20 02:40:03
【问题描述】:
我想在 Firestore 和身份验证中更改用户的电子邮件和密码,以便用户可以使用更新后的电子邮件和密码登录
【问题讨论】:
标签: firebase dart firebase-authentication
我想在 Firestore 和身份验证中更改用户的电子邮件和密码,以便用户可以使用更新后的电子邮件和密码登录
【问题讨论】:
标签: firebase dart firebase-authentication
我想更改用户的邮箱和密码
我了解您不希望这些更改由用户自己完成,而是由其他用户(如管理员)完成。
在这种情况下,您不能使用 Dart firebase_auth library,因为 updateEmail() 和 updatePassword() 方法必须由用户自己调用。
另一方面,使用Firebase Admin SDK,您可以修改现有用户的数据(无需以该用户身份进行身份验证)。要使用 Admin SDK,您需要在特权环境中执行此操作,例如您管理的服务器或通过 Cloud Functions。
以下 Node.js 代码可用于Cloud Function:
const uid = .... // Specify the user's uid
getAuth()
.updateUser(uid, {
email: 'modifiedUser@example.com',
password: 'newPassword',
})
.then((userRecord) => {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully updated user', userRecord.toJSON());
})
.catch((error) => {
console.log('Error updating user:', error);
});
【讨论】:
updateEmail()和updatePassword()方法必须由用户自己调用。