调试Firebase应用程序中的身份验证与规则之间的差异

wj8zmpe1  于 2022-11-30  发布在  其他
关注(0)|答案(1)|浏览(98)

我正在使用Firebase Auth和Firestore开发一个应用程序。
我有当前的代码来创建一个游戏文档:

export const createGame = async () => {
  const title = makeid(6);
  const myDoc = doc(db, "rides", title);
  const payload = {
    createdBy: auth.currentUser.uid
  };
  console.log(title, payload, auth.currentUser);
  await setDoc(myDoc, payload);
  return title;
};

这将导致以下内容输出到控制台:

5YTm0R {createdBy: 'pLCzrgwSQSa9KxaW5OlU2l18CGY2'} UserImpl {providerId: 'firebase', proactiveRefresh: ProactiveRefresh, reloadUserInfo: {…}, reloadListener: null, uid: 'pLCzrgwSQSa9KxaW5OlU2l18CGY2', …}

从日志中可以看到,当前用户是存在的,是匿名用户,所以展开对象时isAnonymous为true。
但是,请求失败,当我查看模拟器的控制台时,看到以下图像:

当前用户在Firebase Emulator控制台中显示为null,而在应用程序中为非空。
我想知道,当Firestore发出请求时,我是否需要采取一组特定的步骤来使用当前用户的身份验证?谢谢!

mznpcxlj

mznpcxlj1#

作为社区维客发布:
根据@mikesol,通过升级到最新的Firebase版本解决了该问题。

npm i firebase@latest

相关问题