He estado usando el emulador de funciones de Firebase para desarrollar la siguiente función y no tuve problemas para ejecutarla desde localhost.
exports.functionName = functions.https.onCall(async (data, context) => { const var1 = data.var1 const var2 = data.var2 const paymentIntent = await object1.property1.function1({ ... }); return({ clientSecret: paymentIntent.client_secret }) }) Ahora que lo implementé en firebase (en la URL predeterminada de projectName.web.app ), cuando llego al código que obtiene esta función, aparece el siguiente error:
El acceso para buscar en 'https://us-central1-projectName.cloudfunctions.net/functionName' desde el origen 'https://projectName.web.app' ha sido bloqueado por la política de CORS: la respuesta a la solicitud de verificación previa no pasa el acceso comprobación de control: no hay ningún encabezado 'Access-Control-Allow-Origin' en el recurso solicitado. Si una respuesta opaca satisface sus necesidades, establezca el modo de la solicitud en 'no-cors' para obtener el recurso con CORS deshabilitado.
¿Por qué recibo este error, especialmente si proviene de una llamada realizada en un sitio web implementado alojado por Firebase? ¿Qué puedo hacer para superar esto, y eso me expondrá a algún riesgo de seguridad?