Contexte
Chrome 94 a introduit un blocage concernant l'accès au réseau privé depuis les sites Web publics non sécurisés. L'évaluation de l'abandon de l'accès au réseau privé depuis des contextes non sécurisés en cours a révélé des difficultés pour migrer les sites Web concernés vers HTTPS. Il est courant de rencontrer des difficultés à 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 regarder la démonstration sur https://private-network-access-permission-test.glitch.me/.
S'inscrire à un essai de création
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 de l'origine pour permettre à votre site Web d'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.