如何使用flutter cloud_firestore包传递firestore auth token
Posted
技术标签:
【中文标题】如何使用flutter cloud_firestore包传递firestore auth token【英文标题】:how to pass firestore auth token using flutter cloud_firestore package 【发布时间】: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? 【参考方案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。以上是关于如何使用flutter cloud_firestore包传递firestore auth token的主要内容,如果未能解决你的问题,请参考以下文章
如何在flutter中使用flutter_webview_plugin和AndroidX
如何使用 flutter_webview 插件在 Flutter 中启用位置?
如何通过 FlutterView 或 Flutter.createFragment 使用平台通道
Flutter 和 Amplify/Cognito:如何使用 Flutter 更新 Amplify/cognito 中的电话号码
如何在 Flutter 的原生 C++ 中使用 OpenCV 4(2021 年)(支持 Flutter 2.0)? [关闭]