【问题标题】:Uncaught (in promise) FirebaseError: The caller does not have permission at new eUncaught (in promise) FirebaseError: The caller does not have permission at new e
【发布时间】:2021-09-07 01:33:11
【问题描述】:

我使用 React,我想将数据添加到 Firestore。

通常一切正常,但现在我遇到了上面提到的问题。我之前没有更改我的Firestore规则,所以我突然遇到问题很奇怪。经过几个小时的研究,我改变了我的规则,但它仍然不起作用。

这是我第一次使用 react-router.. 这有什么用?



prebuilt-47338342-439a2133.js:188 Uncaught (in promise) FirebaseError: The caller does not have permission
    at new e 


 function e(
    /**
     * The backend error code associated with this error.
     */
    e, 
    /**
     * A custom error description.
     */
    n) {
        var r = this;
        return (r = t.call(this, n) || this).code = e, r.message = n, 
        /** The custom name for all FirestoreErrors. */
        r.name = "FirebaseError", 
        // HACK: We write a toString property directly because Error is not a real
        // class and so inheritance does not work correctly. We could alternatively
        // do the same "back-door inheritance" trick that FirebaseError does.
        r.toString = function() {
            return r.name + ": [code=" + r.code + "]: " + r.message;
        }, r;
    }
    return w(e, t), e;
}(Error), N = new c("@firebase/firestore");

/** An error returned by a Firestore operation. */
// Helper methods are needed because variables can't be exported as read/write
function D() {
    return N.logLevel;
}



【问题讨论】:

  • 请分享您的安全规则。
  • 嘿,我不知道为什么,我创建了一个新的 firebase 项目,然后它就可以工作了...我将发送我的第一个项目的规则和新项目的规则...也许它会帮助其他人
  • 那是新的:rules_version = '2';服务 cloud.firestore { match /databases/{database}/documents { match /{document=**} { 允许读取,写入:如果 request.time
  • 那是旧的: service cloud.firestore { match /databases/{database}/documents { match /{document=**} { 允许读取:if auth != null;允许写入:如果 auth != null; } } }
  • 嘿@MightyMike,请随时发布您的解决方案作为您帖子的答案,以提高知名度。

标签: reactjs firebase google-cloud-firestore react-router-dom


【解决方案1】:

将 @MightyMike 的解决方案发布为社区 wiki 以获得更好的可见性。

使用以下安全规则创建新项目后,该错误已得到修复:

rules_version = '2';
service cloud.firestore { 
 match /databases/{database}/documents { match /{document=**} { 
  allow read, write: if request.time < timestamp.date(2021, 7, 23); } 
  } 
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-09
    • 2021-12-29
    • 2020-10-28
    • 2021-04-28
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多