Node.js 仅允许在我的应用程序代码中调用云函数

Node.js 仅允许在我的应用程序代码中调用云函数,node.js,firebase,firebase-authentication,google-cloud-functions,Node.js,Firebase,Firebase Authentication,Google Cloud Functions,我只想从我的应用程序中的代码调用我的云函数 每个onCall()Cloud函数都提供context变量,该变量提供有关如何或从何处进行调用的信息: exports.beginRound = functions.https.onCall(async (data, context) => { if (context.auth.uid === null){ return 404 } 我的问题是:以上这一行是否足以防止在我的应用程序之外调用函数? 只有当用户通过身份验证时,它才允许函数继

我只想从我的应用程序中的代码调用我的云函数

每个
onCall()
Cloud函数都提供
context
变量,该变量提供有关如何或从何处进行调用的信息:

exports.beginRound = functions.https.onCall(async (data, context) => {
    if (context.auth.uid === null){ return 404 }
我的问题是:以上这一行是否足以防止在我的应用程序之外调用函数?

只有当用户通过身份验证时,它才允许函数继续。只有在用户使用我的应用程序时,才应该对其进行身份验证,对吗

我只是想澄清一下

多谢各位

上面这一行是否足以防止在我的应用程序之外调用函数

您所拥有的将检查用户是否已使用项目启用的已启用身份验证提供程序进行身份验证。没有比这更重要的了

请求可能来自任何地方。它不必来自你的应用程序。只要用户已经通过身份验证,并且有一个令牌可以通过启用的提供程序验证其身份,他们就能够调用此函数并绕过检查

实际上,大多数访问将来自您的应用程序,但就安全性而言,请注意,从技术上讲,请求不必来自客户端应用程序代码。应用程序代码从根本上来说是不安全的,可能会被泄露。请求可以使用公共API对用户进行身份验证,获取令牌,并使用

上面这一行是否足以防止在我的应用程序之外调用函数

您所拥有的将检查用户是否已使用项目启用的已启用身份验证提供程序进行身份验证。没有比这更重要的了

请求可能来自任何地方。它不必来自你的应用程序。只要用户已经通过身份验证,并且有一个令牌可以通过启用的提供程序验证其身份,他们就能够调用此函数并绕过检查

实际上,大多数访问将来自您的应用程序,但就安全性而言,请注意,从技术上讲,请求不必来自客户端应用程序代码。应用程序代码从根本上来说是不安全的,可能会被泄露。请求可以使用公共API对用户进行身份验证,获取令牌,并使用