我已经编写了一些云函数并部署了它们。最初,我使用单个函数 onUpdate,并且运行良好。今天,我创建了一个简单的 onCall 函数,我愿意从 iOS Firebase SDK 调用该函数。这是我假设可以工作的测试函数,但它在响应中给出了未经身份验证错误。
exports.test = functions.https.onCall((data, context) => {
console.log('test call info', data, context);
return 'hello, world!';
});
当我检查 Firebase 上的日志时,它向我显示以下日志 -
有人可以帮我解决这个问题吗? 几个关键点 -
- 我尚未启用 App Check。
- 我可以从 iOS 应用和内部云函数 (onUpdate) 访问 Firebase 实时数据库和 Firestore 数据库,只是在使用 HTTP 可调用函数时遇到了这个问题。
这是我调用云函数的 iOS 应用程序代码 -
let functions = Functions.functions()
functions.httpsCallable("test").call() { res, error in
if let error = error {
debugPrint(error)
} else {
debugPrint(res?.data)
}
}
谢谢
最佳答案
关于 Protocol specification for https.onCall 的文档,我建议看一下Response format: status codes段落.
该问题似乎指向“如果请求中提供的身份验证 token 无效,则请求将被拒绝,返回 401 Unauthorized,错误代码为 UNAUTHENTICATED。”
您可能会找到这个question也很有趣。
关于javascript - 从 iOS 应用程序调用该函数时,Firebase HTTP 云函数给出 401 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69493003/