Firebase @firebase/数据库 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>

当我的应用程序的此页面重新加载时,我想存储session到firebase数据库,但我收到PERMISSION_DENIED错误,在检查firesbase实时数据库和/data选项卡中的数据库后,我只有XXXX-1c204: null,我不确定为什么会收到此错误,因为firebaseConfig这是正确的,我多次检查。

http://img4.mukewang.com/64a685bb0001be8305320367.jpg

错误:

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

session_id我的代码的这一部分中的变量user_id不是null


冉冉说
浏览 141回答 1
1回答

红糖糍粑

对 Firebase 实时数据库(和其他 Firebase 后端服务)的访问由服务器端安全规则控制,并且您的数据库似乎拒绝对/users/1/session_id.您需要修改这些规则以允许您的应用程序所需的最低限度。我建议彻底研究 Firebase 文档中的安全规则。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript