【问题标题】:Firebase Function HTTP Request as Authenticated UserFirebase 函数 HTTP 请求作为经过身份验证的用户
【发布时间】:2019-06-30 00:06:25
【问题描述】:

对于我的 Cloud Function,我希望能够以 Firebase 身份验证中的特定用户身份访问 Cloud Firestore 的某些部分。有适当的安全规则,允许用户根据其链接到其 UUID 的角色对数据执行某些操作。但是,在创建云函数时,我无法弄清楚如何以经过身份验证的用户身份向数据库发出请求。

这里的代码将完全绕过设置的安全规则(从而破坏目的):

admin.initializeApp({
  credential: admin.credential.cert({
    projectId: '<PROJECT_ID>',
    clientEmail: 'foo@<PROJECT_ID>.iam.gserviceaccount.com',
    privateKey: '-----BEGIN PRIVATE KEY-----\n<KEY>\n-----END PRIVATE KEY-----\n'
  }),
  databaseURL: 'https://<DATABASE_NAME>.firebaseio.com'
});

我的问题是如何以经过身份验证的用户身份在云函数中执行操作。

【问题讨论】:

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


    【解决方案1】:

    更新 (02.06.2018)

    没关系,这似乎只适用于Realtime Database

    原创

    经过更多研究,使用databaseAuthVariableOverride 似乎是我想要的。

    @Doug Stevenson 你很彻底,谢谢。 (Does Cloud Functions for Firebase respect the realtime database rules?)。

    【讨论】:

      【解决方案2】:

      Admin SDK 不提供一种方法来将访问 Firestore 的范围限定为某个经过身份验证的用户。如果您想查看此内容,请提交feature request

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-06
        • 2020-07-11
        • 2018-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多