Angular + Firebase-身份验证错误/数据库规则问题

时间:2020-07-05 04:06:52

标签: angular firebase google-cloud-firestore

我是Angular2和Firebase的新手。这是我第一次尝试身份验证。将Firebase数据库规则设置为:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

我在浏览器中收到此错误,但未加载任何数据: enter image description here

如果数据库完全像这样打开,错误消失并且数据加载正常(但我知道这不好!):

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
     match /{document=**} {
       allow read, write;
     }
   }
 }

有人可以告诉我我在这里做错什么吗?

1 个答案:

答案 0 :(得分:0)

您在Firebase控制台的身份验证部分中启用了哪种登录方式?

您必须至少启用其中之一才能使规则生效。

以下是文档:Firebase Authentication

编辑:

时髦评论之后。

您可以点击此链接,它说明了电子邮件和密码身份验证的工作原理。

文档:https://firebase.google.com/docs/auth/web/password-auth#sign_in_a_user_with_an_email_address_and_password

首先,您必须创建一个包含电子邮件和密码的帐户。

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;
});
相关问题