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

181
Vistas
Las reglas de seguridad de Firebase "hasAny" vs "in" con la biblioteca javascript son inconsistentes

Esto es muy contrario a la intuición, pero ¿la biblioteca de JavaScript de alguna manera no es totalmente compatible con las reglas de seguridad de Firestore?

Asumiría que no hay conexión entre la sintaxis de las reglas de seguridad y las solicitudes del lado del cliente.

Sin embargo, obtengo este comportamiento en un fragmento de las reglas de seguridad de Firestore:

 // Works fine in tests with test suite // Does NOT work with javascript library request.auth.token.roles[userRole].hasAny([ "admin", "owner" ]) // Works fine in tests with test suite // Also works fine with javascript library request.auth.token.roles[userRole] in ([ "admin", "owner" ])

Editar: el error en el emulador es muy descriptivo:

función no encontrada error: nombre: [hasany]

Entonces, básicamente, parece que la biblioteca de JavaScript no es compatible con las reglas de seguridad.

Estoy usando la última versión de todo:

  • Emulador (herramientas base de fuego): 10.2.2
  • SDK de JavaScript: 9.6.8
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

hasAny es una construcción de las reglas de seguridad de Firestore y no existe en las matrices de JavaScript regulares.

Su solución in JavaScript es interesante, ya que probablemente habría usado some() para esto.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Obviamente fue mi culpa.

Este:

 request.auth.token.roles[userRole]

Devuelve una String . hasAny es una función de la interfaz List . Estaba pasando todas las pruebas porque en los simulacros el valor se mapeaba como una matriz. Al llamar desde el cliente, las reglas fallaron lógicamente.

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