Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

80
Views
función invocable segura de base de fuego

Tengo una función invocable que usa la función de nube de firebase. Mi problema con esta función es un error cors al intentar usarla. Actualmente, estoy usando una función como esta.

 export const sendWhatsapp = functions.region('europe-west2').https.onCall(async (data, context) => { // verify Firebase Auth ID token if (!context.auth) { return { message: "Authentication Required!", code: 401 }; } const credential = functions.config().twilio; const accountSid = credential?.sid; const authToken = credential?.token; const client = require("twilio")(accountSid, authToken); const numbers = data?.query?.numbers; const text = data?.query?.text; let messages = []; for (let i = 0; i < numbers; i++) { messages.push( client.messages.create({ from: "whatsapp:+", body: `Attention! There is {{1}}.`, to: "whatsapp:+", }) ); } //.then(message => console.log(message)) // .catch(e => console.log(e)); const res = await Promise.all(messages); return { message: res, code: 200 }; });

Estoy usando la función HTTP con el método de guardia para verificar si el usuario está autenticado. Intenté usar HTTP a pedido, pero no puedo ver dónde puedo asegurarme de que el usuario esté autenticado.

 export const sendWhatsappApi = functions.region('europe-west2').https.onRequest(async (req, res) => { // the same code will be here });

En el segundo ejemplo, resolví el problema de cors, pero no pude asegurarme de que el usuario haya iniciado sesión, y en el primer ejemplo, pude asegurarme de que el usuario haya iniciado sesión pero no permitir que la URL de mi aplicación active esta función. Si alguien sabe cómo hacer que el primer ejemplo permita las URL duplicadas que inserté en la sección de dominios autorizados de Firebase, esto me ayudará mucho. Vi algo similar que debería funcionar pero no funcionó aquí . Para que quede claro, estoy solicitando un dominio diferente. Mi aplicación nuxt se ejecuta en la nube y no estoy usando la plataforma de alojamiento Firebase. Funciona cuando uso el alojamiento de firebase, pero quiero usar la ejecución en la nube.

El código del lado del cliente es

 const res = await this.$fire.functions.httpsCallable('sendWhatsapp')({ query: { text: this.text }, });

El error que estoy recibiendo para el primer ejemplo

La política de CORS bloqueó el acceso para buscar en la 'url de función' desde la 'url de origen' de origen: no hay un 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.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Entonces, aparentemente, firebase, cuando encuentra un error interno al ejecutar la función, envía un error cors incluso cuando el error es otra cosa. El error real fue el espacio y el tiempo de espera, pero la consola no mostró el error exacto sino un error cors. Entonces, para resolver esto, agregué memoria y tiempo de espera. No necesité cambiar la seguridad en la pestaña de firebase. Ya estaba configurado.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!