GOOGLE ADS

miércoles, 4 de mayo de 2022

Obteniendo el error "NotSameOriginAfterDefaultedToSameOriginByCoep" con Helmet

Veo el siguiente error en la consola de mi navegador cuando uso Helmet.js:

 net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep

¿Qué tengo que hacer?


Solución del problema

tl; dr: deshabilite el Cross-Origin-Embedder-Policyencabezado, habilitado de forma predeterminada en Helmet v5.

app.use(
helmet({
crossOriginEmbedderPolicy: false,
//...
})
);

Helmet v5 establece el encabezado de Cross-Origin-Embedder-Policyrespuesta HTTP en require-corp. (Esto era posible en Helmet v4, pero estaba desactivado de forma predeterminada, por lo que la mayoría de la gente no lo usaba).

Establecer este encabezado significa que cargar recursos de origen cruzado (como una imagen de otro recurso) es más complicado. Por ejemplo, cargar un origen cruzado como este...

<img alt="My picture" src="https://example.com/image.png">

... no funcionará a menos example.comque lo permita explícitamente, estableciendo algunos encabezados de respuesta propios. Su navegador intentará cargar example.com/image.pngy, si no está explícitamente permitido, dejará caer la respuesta.

Para solucionar esto, puede evitar que Helmet configure el Cross-Origin-Embedder-Policyencabezado, así:

app.use(
helmet({
crossOriginEmbedderPolicy: false,
//...
})
);

Hice una pequeña aplicación de muestra que puedes usar para jugar con esto. En mis pruebas, no parece funcionar en HTTP, pero sí en HTTPS, lo que podría explicar por qué las cosas solo fallan en producción.

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...