Firebase 从云函数向Firestore传递用户身份验证

Firebase 从云函数向Firestore传递用户身份验证,firebase,google-cloud-firestore,firebase-authentication,google-cloud-functions,firebase-security,Firebase,Google Cloud Firestore,Firebase Authentication,Google Cloud Functions,Firebase Security,因此,我尝试使用云函数构建http端点。此云函数仅在用户登录后调用。因此,我可以传递用户令牌并在服务器端验证它。我知道怎么做 我还拥有Firestore集合的安全规则,并使用request.auth.uid设置了授权规则。如果我使用firebase web sdk,这也可以正常工作 但我的问题是——如何通过云功能使用相同的授权规则?我不想为http端点单独重写身份验证逻辑 当您在函数中使用admin sdk时,对auth的检查看起来有点不同。只需观看网络忍者的视频。他正在解释怎么做。只需使用生成

因此,我尝试使用云函数构建http端点。此云函数仅在用户登录后调用。因此,我可以传递用户令牌并在服务器端验证它。我知道怎么做

我还拥有Firestore集合的安全规则,并使用request.auth.uid设置了授权规则。如果我使用firebase web sdk,这也可以正常工作


但我的问题是——如何通过云功能使用相同的授权规则?我不想为http端点单独重写身份验证逻辑

当您在函数中使用admin sdk时,对auth的检查看起来有点不同。只需观看网络忍者的视频。他正在解释怎么做。只需使用生成的令牌,而不是视频中使用的令牌

安全规则仅适用于从web和移动SDK进行访问。它不适用于使用任何服务器SDK的代码,包括Firebase Admin SDK和您将与云函数一起使用的任何东西。在将数据添加到Firestore之前,您必须应用自己的逻辑来检查数据的有效性。实时数据库和云存储安全规则也是如此。

我看了视频,谢谢!这正是我希望避免的。他正在云函数中编写自定义授权逻辑。我希望所有的授权逻辑都包含在安全规则中。但是如果你使用云功能,如果你使用admin sdk,你就会绕过安全规则。是的,我的问题是-我怎么才能不绕过这些规则?有办法吗?没有,没有。在YouTube上的一个Firebase视频中(我想是关于安全规则的视频),他们提到了这一点。有没有计划将其作为一项功能添加进来?!据我所知没有。您可以提交功能请求。