Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

274
Vistas
Obtener la base de datos en tiempo real de Firebase enviando un token de autenticación (iframe angular)

Actualmente tengo un iframe que incrusto en mi sitio, en una extensión de Chrome y en sitios de terceros.

El problema es el siguiente: estoy completando partes de mi iframe con datos de firebase. En mi sitio, inserto mi propio iframe y está protegido por un token de base de fuego (las vistas), no sé exactamente cómo funciona, pero devuelve los datos correctamente cuando llama a la base de datos. Ejemplo:

 getData( reference: string, ){ const ref = `accounts/${reference}`; const dataReturn = this.db.object(ref).valueChanges(); return dataReturn; }

Esto regresa bien en mi aplicación web, cuando el usuario cierra la sesión en mi aplicación web, los datos están protegidos (como debe ser)

El problema comienza aquí: cuando un tercero incrusta mi iframe, usa un token oAuth (para obtener usuarios, etc. de mi API), por lo que no inicia sesión en mi sitio web, por lo tanto, cuando incrusta e intenta obtener los datos (automáticamente, ya que llamamos a firebase onInit), firebase los bloquea porque no tienen un token válido/no están autenticados en mi sitio web.

¿Hay alguna manera de usar ese token oAuth para permitirles obtener los datos de Firebase?

El mismo escenario ocurre en la extensión de Chrome, hacemos que el usuario inicie sesión con un token oAuth (para evitar crear una cuenta e iniciar sesión en nuestra aplicación web, evitando problemas de CORS).

Estas son mis reglas en base de datos en tiempo real firebase:

 "accounts": { ".read": "auth !== null", ".write": false, }

¡Gracias!

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si el token de OAuth es de un colaborador en el proyecto de Firebase y ese colaborador tiene acceso a Realtime Database, el cliente también tendrá el mismo acceso a la base de datos.

En ese caso, sus llamadas a la API eludirán las reglas de seguridad de su base de datos, al igual que cuando el colaborador iniciaría sesión en la consola de Firebase y accedería a la base de datos allí.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Ok... para cualquiera que se pregunte... un compañero de trabajo resolvió este problema enviando el token de oAuth a nuestro backend y devolviendo desde allí un token válido de Firebase. Con ese token, solo iniciamos sesión con la función firebase signInWithCustomToken() (por supuesto, aplicamos la lógica para que solo los usuarios de oAuth puedan usar esto automáticamente). De esa manera, mis usuarios tienen acceso a la base de datos en tiempo real ya que están autenticados en firebase

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda