就像我们在访问防火墙数据库之前如何编写安全规则一样,我们是否可以在请求云功能防火墙之前编写安全规则以防止其滥用,另一个链接问题是在调用之前进行应用程序检查工作,或者我已经显式地编写了context.app。
发布于 2021-08-20 07:16:47
我们能不能在请求云功能防火墙之前先编写安全规则以保护它不被滥用?
云函数没有任何安全规则。您必须显式验证传入的请求,并检查调用方是否被授权执行操作。这是必要的,因为云函数使用Admin,它具有访问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使用时间。您应该尝试尽早终止垃圾邮件请求。
是在调用之前进行应用程序检查,还是我已经显式地编写了context.app。
您需要显式地检查context.app。如果请求不包括文档中提到的有效App令牌,它将是未定义的。
if (context.app == undefined) {
throw new functions.https.HttpsError(
'failed-precondition',
'The function must be called from an App Check verified app.')
}https://stackoverflow.com/questions/68858175
复制相似问题