Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

109
Visualizações
firebase funciona llama a GCP - con un 403 - IAM bloquea la llamada

¡Hola en este increíble 2022, eso SERA mejor!

aquí está el caso que tenemos y el problema que enfrentamos:

  1. Tenemos dos partes del mismo proyecto: firebase (funciones de firebase creadas en javascript - proyecto A) y google cloud (función de nube creada en python - proyecto B).
  2. Desde la parte FirebaseFunction (A) estamos enviando un POST a CloudFunction (B)
  3. Queremos que esta solicitud se autentique con el IAM en el lado de GCP (B)

Y así en el proyecto A:

 const firebase = require("firebase-admin"); const botInformURL = "URLTOHIT"; const token = await firebase.auth().createCustomToken("XXX-notification-system"); const output = await axios.post(botInformURL, { headers: { "Content-Type": "application/json", Authorization: "Bearer " + token, }, method: "post", body: JSON.stringify({ additionalMessage }),

Desde la plataforma de la nube de Google (para CloudFunctions - en la configuración del proyecto B) he agregado el correo electrónico de la cuenta de servicio ((...) proyectoA (...) iam.gserviceaccount.com) como Invocador de funciones en la nube (también probé el administrador - sin éxito)

Y ahora, estoy siendo bloqueado en GCP con un 403.

¿Qué me estoy perdiendo aquí?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cuando una persona que llama sin autenticar envía una solicitud a Cloud Function, verá una respuesta de código de estado 401/403 . En este escenario, la salida es asegurarse de que 'allUsers' tenga el rol 'roles/cloudfunctions.invoker' en el IAM de Cloud Function. Puede consultar esta documentación para obtener más información al respecto.

Pero sí, tiene razón, si usa 'allUsers', expondría el punto final públicamente y cualquiera podría acceder a él .

Si quieres evitar esto, tienes que seguir los siguientes pasos:

 From the receiving function: 1. You need to configure the receiving function to accept requests from the calling function. 2. Use the gcloud functions add-iam-policy-binding command. From the calling function: 1. Create a Google-signed OAuth ID token with the audience (aud) set to the URL of the receiving function. 2. Include the ID token in an Authorization: Bearer ID_TOKEN header in the request to the function.

También puede consultar el enlace de Stackoverflow para obtener más información.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda