Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使云firestore规则在python程序上工作?_Python_Firebase - Fatal编程技术网

如何使云firestore规则在python程序上工作?

如何使云firestore规则在python程序上工作?,python,firebase,Python,Firebase,我为我的firestore文档编写了规则,并使用管理员sdk凭据,这绕过了规则。 如何使规则在python上工作 Python代码 导入firebase\u管理 从firebase_管理员导入凭据 从firebase_管理员导入firestore cred=credentials.Certificate('key.json') firebase_管理员初始化_应用程序(cred) db=firestore.client() 尝试: doc_ref=db.集合(“用户”).文档(“测试”) 文档参

我为我的firestore文档编写了规则,并使用管理员sdk凭据,这绕过了规则。 如何使规则在python上工作

Python代码

导入firebase\u管理
从firebase_管理员导入凭据
从firebase_管理员导入firestore
cred=credentials.Certificate('key.json')
firebase_管理员初始化_应用程序(cred)
db=firestore.client()
尝试:
doc_ref=db.集合(“用户”).文档(“测试”)
文档参考集({'password':'testPass','shadow':'testShadow'})
打印(‘成功’)
除:
打印('失败')
消防队规则

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth.uid == userId;
    }
  }
}

Firebase管理SDK以管理权限运行,并绕过Firestore的安全规则。这是无法改变的


如果你想让你的代码遵循安全规则,你必须使用一个客户端SDK,但是Python目前还没有。

谢谢。那么我如何保证所有数据的安全?如果任何用户更改了python代码并执行了该代码,则很容易将其完全删除。运行Admin SDK需要有一个credentials.json文件,其中包含项目的所有私钥。因此,您不应该将其发送给任何最终用户。换句话说:您不能使用Admin SDK在Python中创建客户端Firestore应用程序,并且Firestore afaik没有客户端Python SDK。好的,我知道当客户端需要应用程序时,Firestore在Python中不可用。谢谢,不客气。