Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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
Javascript 如何从angular或任何其他web平台获取Firebase安全数据_Javascript_Google Cloud Firestore_Firebase Security - Fatal编程技术网

Javascript 如何从angular或任何其他web平台获取Firebase安全数据

Javascript 如何从angular或任何其他web平台获取Firebase安全数据,javascript,google-cloud-firestore,firebase-security,Javascript,Google Cloud Firestore,Firebase Security,这是我在firebase的安全规则和条件 rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /Product/{document=**} { allow read: if true; allow write: if request.auth.uid != null; } } } 根据firestore文档,我们

这是我在firebase的安全规则和条件

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /Product/{document=**} {
      allow read: if true; 
      allow write: if request.auth.uid != null;
    }
  }
}
根据firestore文档,我们可以在以下位置检索数据:

如何从Firebase检索安全数据。如果它有有效的uid,它将返回数据。在每次请求时发送我的用户状态或uid的正确方法是什么

什么是在每次登录时发送我的用户状态或uid的正确方法 请求

你必须把这两种方法结合起来

因此,通过Firebase身份验证,您涵盖了系统安全的身份验证部分(即确认用户身份),通过安全规则,您涵盖了授权部分(即授予对系统的访问权)

从:

要将用户登录到您的应用程序,您首先需要获得身份验证凭据 来自用户。这些凭据可以是用户的电子邮件地址和 密码,或来自联合身份提供程序的OAuth令牌。那么, 将这些凭据传递给Firebase身份验证SDK。我们的 后端服务随后将验证这些凭据并返回 回复客户

成功登录后,您可以访问用户的基本配置文件 您可以控制用户对存储在中的数据的访问 其他Firebase产品。您还可以使用提供的身份验证 用于验证您自己后端服务中用户身份的令牌

因此,具体来说,您需要选择所需的登录方法(即密码、电话号码、联合身份提供商,如谷歌、Facebook和Twitter等),然后在应用程序中实现一个(或多个)相应的登录功能。请注意,您也可以使用自己的身份验证机制,因为JSON Web令牌(JWT)可以在您自己的服务器上生成,并用于通过
signInWithCustomToken()
方法对用户进行身份验证

登录后,身份验证令牌将自动包含在对Firebase后端服务(Firestore、云存储等)的请求中

更多详细信息,请参阅“Firebase身份验证入门”



你也可以在网上找到一些教程:

你是说你只想发送他自己的数据?如果UID是1234,则他只能访问名为1234的文档。像那样??不。任何注册的用户都可以访问数据。任何注册的用户都可以读取数据。好的,那么谁可以写入或修改数据呢?为了简单起见,我只需要注册用户就可以读取和写入您只需要在规则中添加以下内容:
allow read,WRITE:if request.auth.uid!=无效。。。现在只有注册用户才能读/写。可能是,我无法正确解释。登录后,我可以检索安全数据。当我刷新浏览器时,我无法检索到Firebase无法找到get-UIDDo的数据。如果您使用特定的持久性类型,请参阅@AhmadSharif然后编辑您的问题。你在这里说的信息可能不是每个人都能看到的。您的问题与刷新无关:-(
db.collection("Product").get().then(function(querySnapshot) {
    querySnapshot.forEach(function(doc) {
        console.log(doc.id, " => ", doc.data());
    });
});