Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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 Firebase request.auth.id似乎不包含任何数据_Javascript_Google Cloud Firestore_Firebase Authentication_Firebase Security - Fatal编程技术网

Javascript Firebase request.auth.id似乎不包含任何数据

Javascript Firebase request.auth.id似乎不包含任何数据,javascript,google-cloud-firestore,firebase-authentication,firebase-security,Javascript,Google Cloud Firestore,Firebase Authentication,Firebase Security,如果用户已通过身份验证,并且我已定义了以下安全规则,我将尝试在采集设备中创建文档: match /{devices}/{id=**}{ allow write : if request.auth.uid != null; } 代码如下: this.auth.onAuthStateChanged().subscribe(user => { if (user) { const docRef = this.afs.collection(

如果用户已通过身份验证,并且我已定义了以下安全规则,我将尝试在采集设备中创建文档:

 match /{devices}/{id=**}{
     allow write : if request.auth.uid != null;
    }
代码如下:

 this.auth.onAuthStateChanged().subscribe(user => {
        if (user) {
          const docRef = this.afs.collection('devices');
          const docData = {
          uid: user.uid
          }
         alert(firebase.auth().currentUser);
         return docRef.doc(user.uid).set(docData);
        } 
这不是在创建文档和firebase.auth().currentUser输出

空的

为了检查request.auth.uid是否存在任何问题,我尝试将规则更改为:

 allow write : if request.auth.uid == null;
但在这种情况下,也不会创建文档

我正在使用电话作为登录方法,并使用验证电话号码,我可以在firebase控制台中看到我的号码正在通过身份验证,以及我的号码的用户。
知道出了什么问题吗?

您是否正在对调用
set()
进行错误检查?每种情况下的错误是什么?请编辑问题以包含更多详细信息。@DougStevenson我收到一个错误
权限被拒绝、缺少权限或权限不足。
听起来好像用户没有登录。您可以在
docRef.doc(token.set)(docData)
@FrankvanPuffelen firebase.auth().currentUser)之前打印
console.log(firebase.auth().currentUser)
,检查这一点。currentUser给出
null
。我不知道为什么它会显示null,因为我可以在firebase控制台中看到用户,并且我可以通过@FrankvanPuffelen提供的
onAuthStateChanged()
方法获取当前用户ID。我正在使用登录,因为这样可以避免
firebase.auth().signInWithPhoneNumber
。是否可以在
firebase.auth().signiWithPhoneNumber