angular中的登录身份验证
我是angular的新手,正在尝试实现一个简单的注册和登录身份验证。我可以轻松注册,将数据推送到firebase。我在这里遇到的问题是,当登录时,如果用户名和密码匹配,它将重定向到另一个页面,否则重定向抛出错误 html: 使用以下代码:angular中的登录身份验证,angular,firebase,Angular,Firebase,我是angular的新手,正在尝试实现一个简单的注册和登录身份验证。我可以轻松注册,将数据推送到firebase。我在这里遇到的问题是,当登录时,如果用户名和密码匹配,它将重定向到另一个页面,否则重定向抛出错误 html: 使用以下代码: SignIn(name,password){ let username = name; let password = password; let credentials = btoa(username + '??' + btoa(password)
SignIn(name,password){
let username = name;
let password = password;
let credentials = btoa(username + '??' + btoa(password)) //
firebase.database().ref('/users').on('child_added', (data)=>{
let dat = data.val()
this.values.push(dat)
let check = this.values.filter(val => val.name == username && val.name == password );
//after that am stucked
if (check && check.length > 0){
this.router.navigateByUrl('/');}
} else {
// you can also use a div to show error. Just create a string
// varibale and use ngIf to show the error message
alert("Username or password doesn't match");
}
)
}
希望它能帮助您使用以下代码:
SignIn(name,password){
let username = name;
let password = password;
let credentials = btoa(username + '??' + btoa(password)) //
firebase.database().ref('/users').on('child_added', (data)=>{
let dat = data.val()
this.values.push(dat)
let check = this.values.filter(val => val.name == username && val.name == password );
//after that am stucked
if (check && check.length > 0){
this.router.navigateByUrl('/');}
} else {
// you can also use a div to show error. Just create a string
// varibale and use ngIf to show the error message
alert("Username or password doesn't match");
}
)
}
希望对您有所帮助您可以使用firebase身份验证
signInUser() {
this.fire.auth
.signInWithEmailAndPassword(this.email.value, this.password.value)
.then(data => {
this.currentUserUid = JSON.stringify(data.uid);
sessionStorage.setItem("Sessionuid", this.currentUserUid);
sessionStorage.setItem("Sessioneml", data.email);
console.log("Success! You're logged in");
this.navCtrl.push(HomePage, {
uid: this.currentUserUid
});
// user is logged in
})
.catch(error => {
console.log("got an error", error);
this.alert(error.message);
});
}
您可以使用firebase身份验证
signInUser() {
this.fire.auth
.signInWithEmailAndPassword(this.email.value, this.password.value)
.then(data => {
this.currentUserUid = JSON.stringify(data.uid);
sessionStorage.setItem("Sessionuid", this.currentUserUid);
sessionStorage.setItem("Sessioneml", data.email);
console.log("Success! You're logged in");
this.navCtrl.push(HomePage, {
uid: this.currentUserUid
});
// user is logged in
})
.catch(error => {
console.log("got an error", error);
this.alert(error.message);
});
}
成功后你必须走回头路
this.router.navigateByUrl('./');
或转到其他页面
this.router.navigateByUrl('./LoginDenied');
成功后你必须走回头路
this.router.navigateByUrl('./');
或转到其他页面
this.router.navigateByUrl('./LoginDenied');
为什么不使用firebase身份验证?。您正在重新发明轮子。使用本文使用firebase创建您的身份验证系统,我想像这样登录prashanth@newtt.comThis这很危险,你不应该这样做。前端代码可以被操纵,这在本例中是一个巨大的安全问题。使用firebase auth!唯一的方法是firebase身份验证,或者我可以使用其他方法。?为什么不使用firebase身份验证?。您正在重新发明轮子。使用本文使用firebase创建您的身份验证系统,我想像这样登录prashanth@newtt.comThis这很危险,你不应该这样做。前端代码可以被操纵,这在本例中是一个巨大的安全问题。使用firebase auth!唯一的方法是firebase auth,或者我可以使用其他方法。?如何检查是否成功我不尝试你的示例,但我认为“检查”应该有成功的结果。如何检查是否成功我不尝试你的示例,但我认为“检查”如果成功,应该有你的结果。我只能使用gmail thinkgmail只是登录我检查并让你知道任何成功@Prashanth的另一种方式?我遵循了这一点我只能使用gmail thinkgmail只是登录我检查并让你知道任何成功@Prashanth的另一种方式?我遵循了即使不匹配它也只重定向到如果case将此代码console.log(check)放在let check=this.values.filter(val=>val.name==username&&val.name==password)之后;然后让我知道您浏览器上控制台上的输出我只尝试了if username匹配它进入if case only我只想看看firebase返回什么,您存储在check变量中。只需将check变量保存的内容粘贴到此处,这样我就可以为您提供正确的解决方案。即使不匹配,它也只会在let check=this.values.filter(val=>val.name==username&&val.name==password)之后重定向到if casept这个代码console.log(check);然后让我知道您浏览器上控制台上的输出我只尝试了if username匹配它进入if case only我只想看看firebase返回什么,您存储在check变量中。只需在这里粘贴什么检查变量保持,这样我就可以为您提供正确的解决方案。