我是Angular2和Firebase的新手。这是我第一次尝试身份验证。将Firebase数据库规则设置为:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
如果数据库完全像这样打开,错误消失并且数据加载正常(但我知道这不好!):
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
有人可以告诉我我在这里做错什么吗?
答案 0 :(得分:0)
您在Firebase控制台的身份验证部分中启用了哪种登录方式?
您必须至少启用其中之一才能使规则生效。
以下是文档:Firebase Authentication
编辑:
在时髦评论之后。
您可以点击此链接,它说明了电子邮件和密码身份验证的工作原理。
首先,您必须创建一个包含电子邮件和密码的帐户。
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
});
然后您可以登录
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
});