【问题标题】:security rules for cloud function云功能的安全规则
【发布时间】:2021-08-20 07:06:15
【问题描述】:

就像我们在访问 firestore 数据库之前编写安全规则一样,我们是否可以在请求云函数 firebase 之前编写安全规则以保护它免受滥用,另一个相关问题是 appcheck 在调用之前是否工作或者我已经明确编写了 context.app .

【问题讨论】:

    标签: firebase google-cloud-platform google-cloud-functions


    【解决方案1】:

    我们可以在请求云功能 firebase 之前编写安全规则以保护其免受滥用

    云功能没有任何安全规则。您必须明确验证传入请求并检查调用者是否有权执行这些操作。这是必要的,因为 Cloud 函数使用 Admin SDK,它有权访问您的 Firebase 项目并且也不遵守安全规则。

    exports.yourCallableFunction = functions.https.onCall((data, context) => {
      // verify context.app
      if (!context.app) return null;
      
      const {uid, token} = context.auth
      // check if this user is authorized to perform requested action
      // you can access custom claims from the token object
    })
    

    请注意,这确实会花费您的调用和 CPU 使用时间。您应该尽早终止垃圾邮件请求。

    appcheck 在调用之前是否有效,或者我已明确编写 context.app。

    您需要明确检查context.app。如果请求不包含documentation 中提到的有效应用检查令牌,它将是未定义的。

    if (context.app == undefined) {
      throw new functions.https.HttpsError(
          'failed-precondition',
          'The function must be called from an App Check verified app.')
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-27
      • 2019-11-09
      • 2020-04-29
      • 2017-10-12
      • 2019-03-22
      • 2018-11-09
      • 2021-12-11
      • 2020-01-14
      相关资源
      最近更新 更多