gpt4 book ai didi

angularjs - 密码重置后,Firebase 身份验证不会更新

转载 作者:行者123 更新时间:2023-12-03 17:43:05 25 4
gpt4 key购买 nike

我似乎不太明白如何在第一次加载 Firebase Auth 对象后重置它。

我正在寻找 bool 值 true值在 auth.password.isTemporaryPassword这会强制用户重置密码。一旦用户执行此过程并重置,auth.password.isTemporaryPassword遗体 true .

我发现解决此问题的唯一方法是将用户注销并再次登录以刷新 auth 对象。

登录:

var ref = new Firebase(environment);

$firebaseAuth(ref)
.$authWithPassword({
email: email,
password: password
},sessionObj)
.then(function(authData) {
if (password.isTemporaryPassword === true) {
$state.go('resetpassword');
}
})
.catch(function(error) {
deferred.reject(error);
});

重设密码:
$scope.reset.oldPassword         =  "oldPass";
$scope.reset.newPassword = "newPass";
$scope.reset.email = "usermail";

ref.changePassword($scope.reset, function(err) {
if(err) {
...
}
else {
$state.go('home')
}
})
password.isTemporaryPassword遗体 true直到我再次登录用户,这似乎很糟糕。

最佳答案

您应该可以使用 onAuth 监听身份验证状态更改的函数:

ref.onAuth(function(authData) {

//user authenticated & needs to change her password
if(authData && authData.password.isTemporaryPassword) {
$state.go('resetpassword');
}

//else user is logged in with valid password
else if(authData) {

}

//else user is logged out
else {

}
});

关于angularjs - 密码重置后,Firebase 身份验证不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31327352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com