通过他们的uid将另一个Firebase用户添加到组中

时间:2018-01-23 15:57:04

标签: javascript reactjs firebase firebase-realtime-database firebase-authentication

我正在使用React Native w / Redux和Firebase开发应用程序。我正在尝试实现组用户管理,其中登录的用户可以通过他们的uid将另一个用户添加到组。但是,我似乎无法通过他们的uid检索另一个用户。

即使使用了正确的users/${enteredUid},路径uid的快照也会返回空对象。我也无法通过获取users/的快照来检索所有用户的列表,因为这也会返回一个空白对象。

firebase是否允许经过身份验证的用户查看与其他用户相关的任何数据?我无法在网上找到合适的解决方案。

export const addUser = (enteredUid) => {
  const { currentUser } = firebase.auth();
  return (dispatch) => {
  let user = {};
  firebase.database().ref(`users/${enteredUid}`)
  .on('value', snapshot => {
    user = snapshot.val();
  });
  if (user !== undefined) {
    console.log(user);
    firebase.database().ref(`users/${currentUser.uid}/group/users`)
    .push(user)
    .then(() => {
      dispatch({ type: GM_SET_SUCCESS, payload: `User ${enteredUid.username} added successfuly!` });
    }
  );
} else {
  dispatch({ type: GM_SET_ERROR, payload: `User ${enteredUid} does not exist!` });
}
};
};

Firebase数据库规则

{
  "rules": {
    "users": {
      "$uid": {
        ".read": true,
        ".write": "$uid === auth.uid"
      }
    }
  }
}

数据库屏幕截图

Firebase ScreenShot

0 个答案:

没有答案