【问题标题】:Firestore collection.set method doesn't workFirestore collection.set 方法不起作用
【发布时间】:2021-09-28 05:46:25
【问题描述】:

我有一个 google 按钮,它提供使用 google 登录。

一切正常,但我无法将用户数据写入 Firestore 数据库。 当我在firestore网站上查看firestore auth页面时,我可以看到,用户可以成功登录,但用户数据无法写入firestore数据库,为什么?怎么了?

我的谷歌按钮代码:

const LoginForm = () => {
  var provider = new firebase.auth.GoogleAuthProvider();
  return (
    <>
      <div
        className="btn-google login-button google"
        onClick={() =>
          firebase
            .auth()
            .signInWithPopup(provider).then((result) => {
              var user = result.user;
              firebase.firestore().collection("users").doc(user.uid).set({
                username: user.displayName,
                email: user.email,
                uid: user.uid,
              });
            })
        }
      >
        <GoogleOutlined /> Sign in With Google
      </div>
    </>
  );
};

Firebase 身份验证页面截图:

Firestore 数据库截图:

【问题讨论】:

    标签: javascript reactjs firebase google-cloud-firestore oauth-2.0


    【解决方案1】:

    我像这样更改了规则部分,我解决了问题:

    // Allow read/write access on all documents to any user signed in to the application
    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write: if request.auth != null;
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-18
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多