one*_*dan 6 javascript firebase firebase-authentication
使用以下Firebase电子邮件身份验证代码,您如何知道身份验证是否成功?
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
if (errorCode === 'auth/wrong-password') {
alert('Wrong password.');
} else {
alert(errorMessage);
}
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)
我知道很容易认识到身份验证是否不成功,但是,我如何知道用户是否能够使用他们提供的凭据登录?似乎没有"成功"登录的回调.我目前有一个登录表单,我想要成功登录导航.
Fra*_*len 23
这里有一个firebaser
@ ksav的答案显示了检测用户何时登出的首选方式.
为了完整性,我想展示第二种检测方法,它直接响应signInWithEmailAndPassword:
firebase.auth().signInWithEmailAndPassword(email, password).then(function(user) {
// user signed in
}).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
if (errorCode === 'auth/wrong-password') {
alert('Wrong password.');
} else {
alert(errorMessage);
}
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)
在then()当用户已经签署将被调用.
我们在文档中不再强调这种方法的原因是它会错过很多情况.例如:
then()将不会调用该页面.onAuthStateChanged()另一方面,回调也将被调用.catch()则不会调用该用户.onAuthStateChanged()另一方面,回调也将被调用.如果您想明确回复用户何时主动登录,我的回答中的方法可能会有用.但在大多数情况下,我们建议您使用@ ksav的答案.
获取当前登录的用户
获取当前用户的推荐方法是在Auth对象上设置观察者:
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
} else {
// No user is signed in.
}
});
Run Code Online (Sandbox Code Playgroud)
文档:https://firebase.google.com/docs/auth/web/manage-users
| 归档时间: |
|
| 查看次数: |
7861 次 |
| 最近记录: |