Firebase createUserWithEmailAndPassword()返回HTTP POST错误以及错误对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firebase createUserWithEmailAndPassword()返回HTTP POST错误以及错误对象相关的知识,希望对你有一定的参考价值。
在使用firebase作为数据库使用Angular5时,我正在尝试从createUserWithEmailAndPassword(email, password)
创建一个新用户。
但是当我输入一个已经存在的电子邮件(用于测试)时,该函数将返回HTTP POST错误(不是预期的)与错误对象(预期)。
我尝试使用.catch()
捕获错误,但HTTP POST错误仍然使用我的API密钥打印到控制台以及firebase URL。
这是我在AuthService typescript类中的代码:
signupUser(username: string, password: string) {
firebase.auth().createUserWithEmailAndPassword(username, password)
.catch(function(err) {
const errorCode = err.code;
const errorMsg = err.message;
console.log('Error code: ', errorCode);
console.log('Error Message: ', errorMsg);
console.log('Error: ', err);
});
}
以下是调用上述代码的位置:
onSignup(form: NgForm) {
const username: string = form.value.username;
const password: string = form.value.password;
try {
this.authService.signupUser(username, password);
} catch (err) {
console.log('try-catch called ');
}
}
这是在控制台上显示的内容:
请在这里建议我做错了,因为我不希望HTTP控制台消息打印到控制台显示我的API_KEY。
Firebase身份验证SDK通过HTTP请求与其后端进行通信。您的浏览器的javascript控制台只显示Firebase身份验证服务器发送回客户端的HTTP响应代码。
无法通过API禁止此消息。如果您不想看到此内容,可以尝试在JavaScript控制台中关闭错误日志记录。
在调用createUserAndRetrieveDataWithEmailAndPassword()之后,您需要一个if语句(或者如果您想要捕获多个内容的情况)。如果是stmt,请检查返回的错误代码是否与“auth / email-already-in-use”匹配,然后将错误消息重置为您想要的消息并将其显示给您的用户。
firebase.auth().createUserAndRetrieveDataWithEmailAndPassword(
email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
if (errorCode == 'auth/email-already-in-use') {
console.log('auth/email-already-in-use.');
} else {
console.log(errorMessage);
}
console.log(error);
});
请参阅此方法的文档和返回的错误代码:https://firebase.google.com/docs/reference/js/firebase.auth.Auth#createUserWithEmailAndPassword
另请注意,如果您的目标是隐藏API密钥,任何拥有http过滤器的人都可以在处理错误后观察它,因为对firebase的http调用被触发并返回到您的应用程序!
以上是关于Firebase createUserWithEmailAndPassword()返回HTTP POST错误以及错误对象的主要内容,如果未能解决你的问题,请参考以下文章
无法解决:com.google.firebase:firebase-ml-vision:24.1.3;无法解决:com.google.firebase:firebase-core:20.0.2
没有创建 Firebase 应用“[DEFAULT]” - 在 Flutter 和 Firebase 中调用 Firebase.initializeApp()
如何修复 Firebase 9.0 导入错误? “尝试导入错误:‘firebase/app’不包含默认导出(导入为‘firebase’)。”