繁体   English   中英

Firebase @firebase/database PERMISSION_DENIED

[英]Firebase @firebase/database PERMISSION_DENIED

Firebase成功创建项目并获得配置表单后,我在</body>之前将以下代码粘贴到我的代码中

<script>
    var session_id = "{!! (Session::getId())?Session::getId():'' !!}";
    var user_id = "{!! (Auth::user())?Auth::user()->id:'' !!}";

    var firebaseConfig = {
        apiKey: "x",
        authDomain: "x",
        databaseURL: "x",
        projectId: "x",
        storageBucket: "x",
        messagingSenderId: "x",
        appId: "x",
        measurementId: "x"
    };

    firebase.initializeApp(firebaseConfig);

    var database = firebase.database();

    if ({!! auth()->user() !!}) {
        firebase.database().ref('/users/' + user_id + '/session_id').set(session_id);
    }

    firebase.database().ref('/users/' + user_id).on('value', function (snapshot2) {
        var v = snapshot2.val();

        if (v.session_id !== session_id) {

            console.log("Your account login from another device!!");

            setTimeout(function () {
                window.location = '/login';
            }, 4000);
        }
    });
</script>

当我的应用程序在此页面reloded我想存储session ,以firebase数据库,但我得到PERMISSION_DENIED错误,chceking内部数据库之后firesbase relaltime数据库/data标签我只有XXXX-1c204: null ,我不知道为什么我得到这个错误,因为firebaseConfig是正确的,我多次检查。

在此处输入图片说明

错误:

[2020-11-04T04:40:47.932Z] @firebase/database: FIREBASE 警告:设置在 /users/1/session_id 失败:permission_denied

这段代码中的session_iduser_id变量不为null

对 Firebase 实时数据库(和其他 Firebase 后端服务)的访问由服务器端安全规则控制,看起来您拒绝了对/users/1/session_id的写操作。

您需要修改这些规则以允许您的应用程序所需的最低限度。 我建议彻底研究有关其安全规则的 Firebase 文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM