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
Firebase 您可以通过firestore读取请求发送数据吗?_Firebase_Google Cloud Firestore_Firebase Security - Fatal编程技术网

Firebase 您可以通过firestore读取请求发送数据吗?

Firebase 您可以通过firestore读取请求发送数据吗?,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,我想给未登录的用户一个选项,通过他们收到的令牌查看他们的数据,该令牌在一段时间后过期 令牌创建和发送部分已经完成,现在我看到两个选项:在函数中执行所有操作或使用firestore规则。 不过,规则会更好,因为直接读取数据库更快 例如,我有一个用户集合,其中的用户如下所示: { name: 'test', token: '1234', expiresAt: <someTimeInFuture> } 是否有任何方法可以扩展get规则,以便在读取请求中发送该令牌的用户可

我想给未登录的用户一个选项,通过他们收到的令牌查看他们的数据,该令牌在一段时间后过期

令牌创建和发送部分已经完成,现在我看到两个选项:在函数中执行所有操作或使用firestore规则。 不过,规则会更好,因为直接读取数据库更快

例如,我有一个用户集合,其中的用户如下所示:

{
   name: 'test',
   token: '1234',
   expiresAt: <someTimeInFuture>
}
是否有任何方法可以扩展
get
规则,以便在读取请求中发送该令牌的用户可以查看数据。或者更好的说法是:我可以将令牌与我的读取请求一起发送,以便在规则中查看它吗


请记住,自定义声明不是选项,因为用户未登录。

安全规则不支持客户端只需在验证请求中发送自定义数据。这实际上根本不“安全”。这就像要求某人提供一个可以在互联网上任何地方共享的密码。您需要一个后端端点来执行此操作,但请记住,它也会有相同的安全问题。

是的,我知道这是一个安全问题。它只是关于读取数据与请求的链接。就像多家公司使用订单状态链接一样。但是谢谢你的回答。我会保留这个问题,以防有任何办法,但如果没有,我会接受你的答案很快。
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow get: request.auth.uid == userId;
      allow update: request.auth.uid == userId;

      allow list: if false; 
      allow create, delete: if false;

    }
  }
}