[英]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_id
和user_id
变量不为null
对 Firebase 实时数据库(和其他 Firebase 后端服务)的访问由服务器端安全规则控制,看起来您拒绝了对/users/1/session_id
的写操作。
您需要修改这些规则以允许您的应用程序所需的最低限度。 我建议彻底研究有关其安全规则的 Firebase 文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.