Uncaught (in promise) FirebaseError: The caller does not have permission at new e

Posted

技术标签:

【中文标题】Uncaught (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,请随时发布您的解决方案作为您帖子的答案,以提高知名度。 【参考方案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);  
   
 

【讨论】:

以上是关于Uncaught (in promise) FirebaseError: The caller does not have permission at new e的主要内容,如果未能解决你的问题,请参考以下文章

解决Uncaught (in promise) reason的问题

Uncaught (in Promise) DOMException: play() 只能由用户手势启动

解决Uncaught (in promise) reason的问题

Uncaught (in promise):消息端口在收到响应之前关闭

vue控制台报 Uncaught (in promise) TypeError:

Uncaught (in promise) TypeError: Cannot set properties of null (setting 'innerText') in OpenWetherMa