【发布时间】:2020-08-21 09:01:26
【问题描述】:
我正在尝试为 firebase 用户更改密码。
handleChangePassword(BuildContext parentContext) {
return showDialog(
context: parentContext,
builder: (_) {
return ChangePasswordPopUp(
currentEmail: widget.email,
auth: widget.auth,
newPassword: (val) async {
await widget.auth.changePassword(val);
},
);
});
}
用户在 ChangePasswordPopUp 和 ValueChanged newPassword 中重新认证,我正在调用 changePassword
Future<void> changePassword(String password) async {
FirebaseUser user = await _firebaseAuth.currentUser();
print(password);
user.updatePassword(password).then((_){
print("Succesfull changed password");
}).catchError((error){
print("Password can't be changed" + error.toString());
});
}
它会打印选择的新密码和“成功更改密码”,所以一切都应该没问题,但是当我尝试注销并再次登录时,它是旧密码而不是新密码。
有什么建议吗?
【问题讨论】:
-
可能是
duplicate的stackoverflow.com/questions/52293129/… -
不这么认为。现在支持它,并且在更改密码之前对用户进行重新身份验证。
标签: firebase flutter firebase-authentication