【问题标题】:how to pass firestore auth token using flutter cloud_firestore package如何使用flutter cloud_firestore包传递firestore auth token
【发布时间】:2019-03-19 15:10:29
【问题描述】:

我正在使用 firebase auth REST api 进行身份验证;这部分工作正常,因为我可以登录/注册用户,我可以得到 uid 和 auth token 回来。

在尝试写入 Cloud Firestore 时,如果我将 Cloud Firestore 数据库规则设置为(这是最基本的身份验证规则之一):

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth.uid != null;
    }
  }
}

但是如何使用 cloud_firestore 包将 uid 传递给云 Firestore 请求,例如我想写一个集合:

Firestore.instance.collection('myCollection').document() .setData(myData);

【问题讨论】:

  • 你是否得到了这个工作,或者你只是最终使用了 REST api?

标签: firebase firebase-authentication flutter google-cloud-firestore


【解决方案1】:

以防万一这对其他人有所帮助,有人告诉我,我不应该将 firebase auth REST api 与 firestore 非 REST api 混合使用。 如果我想使用 cloud_firestore 包,我也将使用 firebase_auth 包,这样 firebase_auth 将处理底层身份验证,而不需要 cloud_firestore 显式传递任何身份验证令牌。

与此同时,firestore 也有一个REST api;因此,如果有人真的想使用 firebase auth REST api,那么也应该使用 firestore REST api,以便可以显式传递身份验证令牌。

【讨论】:

  • 我觉得不可思议的是,cloud_firestore 不允许在每个请求中传递令牌来验证用户的身份验证,就像 Firestore 的其他 API 一样。如果有人及时阅读了这篇文章,请不要犯我的错误,从你的项目开始就使用 rest api 而不是 cloud_firestore。
猜你喜欢
  • 1970-01-01
  • 2020-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-26
  • 1970-01-01
  • 1970-01-01
  • 2020-01-16
相关资源
最近更新 更多