Contexte
Chrome 94 a introduit un blocage de l'accès au réseau privé à partir de sites Web publics non sécurisés. L'essai de suppression de l'accès au réseau privé à partir de contextes non sécurisés en cours a révélé des difficultés à migrer les sites Web concernés vers le protocole HTTPS. Un problème courant est la difficulté de migrer des appareils privés vers HTTPS, ce qui entraîne des cas de non-respect de la vérification du contenu mixte.
Pour résoudre le problème mentionné précédemment, une nouvelle invite d'autorisation est disponible dans une phase d'évaluation de l'origine à partir de Chrome 120.
Nouvelle option : requête d'autorisation
En ajoutant le nouvel attribut targetAddressSpace
en tant qu'option de récupération, la requête pourra ignorer la vérification du contenu mixte.
Exemple :
fetch("http://router.local/ping", {
targetAddressSpace: "private",
});
Conformément à Accès au réseau privé: présentation des requêtes préliminaires, toute requête de réseau privé sera précédée d'une requête préliminaire. Cette requête préliminaire inclura un nouvel en-tête, Access-Control-Request-Private-Network: true
, et la réponse correspondante doit inclure l'en-tête Access-Control-Allow-Private-Network: true
.
Pour prendre en charge la nouvelle invite d'autorisation, nous avons demandé aux appareils d'intégrer deux nouveaux en-têtes de réponse: Private-Network-Access-Name
et Private-Network-Access-ID
.
Private-Network-Access-Name: <some human-readable device name>
Private-Network-Access-ID: <the MAC address of the device>
Exemple :
Private-Network-Access-Name: "My Smart Toothbrush"
Private-Network-Access-ID: "01:23:45:67:89:0A"
Private-Network-Access-ID
: valeur de 48 bits présentée sous la forme de six octets hexadécimaux séparés par des deux-points.
Private-Network-Access-Name
: nom valide sous forme de chaîne correspondant à l'expression régulière ECMAScript /^[a-z0-9_-.]+$/
. La longueur maximale du nom est de 248 unités de code UTF-8.
Démo
Vous pouvez consulter la démonstration à l'adresse https://private-network-access-permission-test.glitch.me/.
S'inscrire à un essai de préversion
Pour nous assurer que l'invite d'autorisation d'accès au réseau privé aide les développeurs à adopter des restrictions de contexte sécurisées pour l'accès au réseau privé, nous les rendons disponibles dans Chrome de la version 120 à la version 122 en tant que test d'origine.
Inscrivez-vous à la phase d'évaluation pour l'origine afin d'autoriser votre site Web à utiliser l'invite d'autorisation:
- Demandez un jeton pour votre origine.
- Utilisez le jeton de l'une des manières suivantes :
- Dans votre code HTML :
html <meta http-equiv="Origin-Trial" content="TOKEN_GOES_HERE">
- Dans votre code JavaScript :
js const meta = document.createElement('meta'); meta.httpEquiv = 'Origin-Trial'; meta.content = 'TOKEN_GOES_HERE'; document.head.append(meta);
- Dans les en-têtes HTTP :
text Origin-Trial: TOKEN_GOES_HERE
- Dans votre code HTML :
Pour toute question ou suggestion concernant cette fonctionnalité, veuillez signaler un problème dans le dépôt GitHub.