成功创建项目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这是正确的,我多次检查。错误:[2020-11-04T04:40:47.932Z] @firebase/database:FIREBASE 警告:在 /users/1/session_id 处设置失败:permission_deniedsession_id我的代码的这一部分中的变量user_id不是null
1 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
对 Firebase 实时数据库(和其他 Firebase 后端服务)的访问由服务器端安全规则控制,并且您的数据库似乎拒绝对/users/1/session_id
.
您需要修改这些规则以允许您的应用程序所需的最低限度。我建议彻底研究 Firebase 文档中的安全规则。
添加回答
举报
0/150
提交
取消