从Cloud函数将用户身份验证传递到Firestore

时间:2019-08-28 06:56:05

标签: firebase google-cloud-firestore firebase-authentication google-cloud-functions firebase-security

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

我的Firestore集合上也有安全规则,并使用request.auth.uid设置了授权规则。如果我使用Firebase Web sdk,这也适用。

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

2 个答案:

答案 0 :(得分:2)

当您在函数中使用admin sdk时,对auth的检查看起来有些不同。只需观看来自《网络忍者》的this视频。他正在解释如何执行此操作。只需使用生成的令牌代替视频中使用的令牌即可。

答案 1 :(得分:1)

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