【发布时间】:2023-03-16 13:42:01
【问题描述】:
我们遇到了企业客户无法通过 Firebase 进行身份验证和通过 Firestore 读取/写入的问题,因为这些对 Google API 的请求是在我们的 Next.js 实例的前端写入的。
客户在他们的 JS 控制台中看到的错误:
Failed to load resource: net::ERR_TUNNEL_CONNECTION_FAILED
我想这是公司代理背后严格的同源策略,我们应该将所有 firebase/firestore 请求移到后端,在 Next.js 中的 /api 后面。
我们不能要求每个企业客户将*.googleapis.com 跨域请求列入白名单。
我对后续步骤的假设是否正确?如果是这样,当前在我们前端编写的大量 Firestore 查询将需要移动到后端,即:
await db
.collection('users')
.doc(user.email)
.collection('starred')
.doc(user.id)
.set({ set: true });
是否已经有一个 API 库、云同源策略或云函数来简化这一切,然后为 Firestore 数据库查询编写一个全新的 API?
【问题讨论】:
标签: firebase google-cloud-firestore next.js same-origin-policy vercel