在Firebase云函数中,使用HTTPS协议保护可调用函数免受中间人攻击。这可以通过在云函数中使用firebase-functions库,然后在调用函数时使用onCall函数来实现。
以下是一个示例代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.myFunction = functions.https.onCall((data, context) => {
// 确认请求来自Firebase项目中的Auth用户
if (!context.auth) {
// 用户未被认证
throw new functions.https.HttpsError('unauthenticated',
'只有认证用户才能调用此函数!');
}
// 函数逻辑
});
在此示例中,myFunction在HTTPS请求上暴露为可调用函数。使用firebase-functions库的onCall函数可确保仅限Firebase项目中的Auth用户才能调用该函数。如果未经身份验证的用户尝试调用该函数,则会引发未经身份验证的错误。
在云函数中使用HTTPS协议和身份验证可以保护可调用函数免受中间人攻击,并确保请求来自Firebase项目的认证用户。