【问题标题】:Angular + Firebase - Authentication error / Database Rules issueAngular + Firebase - 身份验证错误/数据库规则问题
【发布时间】:2020-07-05 04:06:52
【问题描述】:

我是 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;
     }
   }
 }

谁能告诉我我在这里做错了什么?

【问题讨论】:

    标签: angular firebase google-cloud-firestore


    【解决方案1】:

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

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

    这里是文档:Firebase Authentication

    编辑:

    swisstony评论之后。

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

    文档: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;
    });
    

    【讨论】:

    • 嗨涡轮。我启用了电子邮件/密码。
    猜你喜欢
    • 2020-09-24
    • 2020-05-10
    • 2020-04-29
    • 2018-08-25
    • 2021-01-22
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2018-01-17
    相关资源
    最近更新 更多