Rya*_*yan 5 firebase firebase-security firebase-authentication google-cloud-firestore
项目 A 具有 Firebase 身份验证,项目 B 具有 Firebase Firestore。身份验证和 Firestore 都可以正常工作: https: //firebase.google.com/docs/projects/multiprojects (Web)
但是,在编写以下项目 B Firestore 安全规则时:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{uid} {
allow get: if request.auth.uid == uid;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Missing or insufficient permissions
Run Code Online (Sandbox Code Playgroud)
auth由于身份验证数据来自项目 A,因此项目 B 的 Firestore 请求中没有数据。
如何使用 JavaScript/Web 向项目 B 提供项目 A 的身份验证信息?
坦率地说,您正在以完全错误的方式“分离微服务”。身份验证从根本上与功能相关,并且密不可分——它不是“微服务”。即使您选择使用 Cloud Functions 来提供“微服务 API”,也绝对没有理由在 Cloud Functions 背后使用单独的项目和数据库,并且完全有理由保持它们相同。
您所描述的内容听起来更像是尝试破解其他服务,而不是创建可行的解决方案,而 Firestore 是专门为抵制此类尝试而构建的。
| 归档时间: |
|
| 查看次数: |
678 次 |
| 最近记录: |