Prueba de origen del mensaje de permiso de acceso a la red privada: Una ruta para migrar sitios web con HTTPS

Yifan Luo
Yifan Luo

Información general

En Chrome 94, se bloqueó el acceso a redes privadas desde sitios web públicos no seguros. La prueba de baja del Acceso a redes privadas en contextos no seguros reveló algunos desafíos para migrar los sitios web afectados a HTTPS. Una preocupación común es la dificultad de migrar dispositivos privados a HTTPS, lo que provoca incumplimientos de verificación de contenido mixto.

Para abordar el desafío mencionado anteriormente, hay un nuevo mensaje de permiso disponible en una prueba de origen de Chrome 120

Mensaje de permiso como opción nueva

Si agregas el nuevo atributo targetAddressSpace como opción de recuperación, la solicitud podrá omitir la verificación del contenido mixto.

Ejemplo:

fetch("http://router.local/ping", {
  targetAddressSpace: "private",
});

De acuerdo con el Acceso a la red privada: introducción de las solicitudes preliminares, cualquier solicitud de red privada estará precedida por una solicitud de verificación previa. Esta solicitud preliminar incluirá un nuevo encabezado, Access-Control-Request-Private-Network: true, y la respuesta correspondiente debe incluir el encabezado Access-Control-Allow-Private-Network: true.

Para adaptar la nueva solicitud de permiso, exigimos que los dispositivos incorporaran dos encabezados de respuesta nuevos: Private-Network-Access-Name y Private-Network-Access-ID.

Private-Network-Access-Name: <some human-readable device name>
Private-Network-Access-ID: <the MAC address of the device>

Ejemplo:

Private-Network-Access-Name: "My Smart Toothbrush"
Private-Network-Access-ID: "01:23:45:67:89:0A"

Private-Network-Access-ID: Es un valor de 48 bits presentado como 6 bytes hexadecimales separados por dos puntos. Private-Network-Access-Name: Es un nombre válido como una cadena que coincide con la expresión regular de ECMAScript /^[a-z0-9_-.]+$/. La longitud máxima del nombre es de 248 unidades de código UTF-8.

Demostración

Puedes ver la demostración en https://private-network-access-permission-test.glitch.me/.

Regístrate para una prueba de origen

Para garantizar que el Mensaje de permiso de Acceso a redes privadas ayude a los desarrolladores a adoptar restricciones de contexto seguro para el acceso a redes privadas, estarán disponibles en Chrome de la versión 120 a la 122 como prueba de origen.

Regístrate en la prueba de origen para permitir que tu sitio web use el mensaje de permiso:

  1. Solicita un token para tu origen.
  2. Usa el token de una de las siguientes maneras:
    • En tu archivo HTML: html <meta http-equiv="Origin-Trial" content="TOKEN_GOES_HERE">
    • En JavaScript: js const meta = document.createElement('meta'); meta.httpEquiv = 'Origin-Trial'; meta.content = 'TOKEN_GOES_HERE'; document.head.append(meta);
    • En los encabezados HTTP: text Origin-Trial: TOKEN_GOES_HERE

Si tienes comentarios o sugerencias sobre esta función, informa el problema en el repositorio de GitHub.

Recursos