es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Establecer una restricción de referer HTTP en la clave de API de Firebase no hace ninguna diferencia.

Me gustaría establecer una restricción en mi API de Firebase para que solo pueda ser utilizada desde un dominio específico. De hecho, entiendo que los datos de Firestore aún son legibles a menos que se implementen las reglas de seguridad correctas, pero parezco estar haciendo uso de la API de Firestore y la restricción debería evitar esto, si entiendo correctamente.

Entonces, he establecido la restricción de mi llave de navegador como se muestra a continuación, hice clic en el botón Guardar y esperé cinco minutos.

Luego quería probar esta restricción, así que abrí la consola de desarrollo de Incognito, copié la configuración de Firebase idéntica tal como está en mi lado del cliente y llamé a la API de Firestore como se muestra a continuación:

La respuesta que obtuve fue esta, y al mirar aún más en estos elementos, contienen los datos de Firestore.

Por lo tanto, esta restricción no funcionó en absoluto, ¿qué estoy haciendo mal?

ACTUALIZACIÓN

Resulta que la restricción de referencia HTTP solo funcionaba para API que no eran de Firestore. No estoy seguro de por qué esto es así, por lo que agradezco los pensamientos de cualquiera al respecto. @willnode tenía razón al afirmar que necesita dos listados de dominios URL (incluyendo uno con el comodín) para que se incluya toda la lista blanca del dominio. Observé que esto funcionó cuando lo probé con la API de Auth (usando inicio de sesión anónimo).

La pregunta de si restringir la clave de API con la referencia HTTP es lo suficientemente seguro es una cuestión para otra pregunta.

OTRA ACTUALIZACIÓN

Por alguna razón, tuvimos que esperar un poco más para que la API de Firestore también funcione con la restricción de referencia. Ahora todo está funcionando correctamente.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para establecer una restricción en tu API de Firebase para que solo pueda ser utilizada desde un dominio en particular, puedes usar la restricción de HTTP Referrer en la configuración de tu proyecto de Firebase.

    1. Ve a tu consola de Firebase y selecciona tu proyecto.
    2. En la pestaña “Configuración”, selecciona la pestaña “Messaging en la Nube”.
    3. En “Configuración Web”, verás tu “Clave de API Web”. Haz clic en el botón “Editar” al lado de ella.
    4. En “HTTP Referrers”, agrega el dominio que deseas incluir en la lista blanca. Puedes agregar varios dominios haciendo clic en el botón “Agregar un elemento”.
    5. Guarda los cambios y espera unos minutos para que los cambios tengan efecto.

    Ten en cuenta que la restricción de HTTP Referrer puede que no funcione para todas las API de Firebase. En particular, puede que no funcione para los datos de Firestore a menos que hayas implementado las reglas de seguridad correctas. Además, necesitas tener al menos dos listas de dominios URL (incluyendo una con el comodín) para que se incluya todo el dominio en la lista blanca.

Comments are closed.