Home Assistant ne crée généralement pas un système d’authentification pour le réseau local et un autre pour l’accès à distance. L’utilisateur s’authentifie auprès de l’instance Home Assistant, les applications reçoivent des jetons, et ces jetons authentifient les sessions API ou WebSocket, que la requête arrive via une URL locale, Home Assistant Cloud, un VPN ou un proxy inverse.
Ce qui change entre l’utilisation locale et distante, c’est principalement le chemin réseau : DNS, TLS, proxy, tunnel et accessibilité publique. Il est important de séparer le routage de l’identité, car une URL distante défaillante peut ressembler à un problème de connexion même lorsque les identifiants et les jetons de l’utilisateur Home Assistant sont toujours valides.
Les applications s’authentifient une seule fois et reçoivent des jetons d’accès et d’actualisation
Le flux d’authentification des applications Home Assistant génère un code d’autorisation, puis un jeton d’accès et un jeton d’actualisation. Le jeton d’accès à courte durée de vie est utilisé pour les appels API ; le jeton d’actualisation permet à l’application de demander un nouveau jeton d’accès sans demander à l’utilisateur de se reconnecter à chaque session.
L’actuelle documentation de l’API d’authentification décrit le flux d’autorisation, de jeton d’accès, de jeton d’actualisation et de jeton Bearer HTTP. Lorsqu’un jeton d’accès devient invalide, une requête API HTTP renvoie 401 et le client doit actualiser le jeton ou s’authentifier de nouveau.
Cela sépare l’autorisation à long terme d’un utilisateur de la courte durée de vie d’un identifiant API donné.
Les sessions WebSocket s’authentifient avant le début de la diffusion de l’état en temps réel
L’interface et de nombreuses applications maintiennent une connexion WebSocket ouverte afin que Home Assistant puisse diffuser les mises à jour d’état et d’événements sans interroger le serveur à chaque changement.
L’API WebSocket de Home Assistant définit une phase d’authentification explicite : le serveur envoie auth_required, le client renvoie un jeton d’accès, et seule une réponse auth_ok fait passer la connexion à la phase des commandes.
Un jeton invalide met fin à cette session. Un délai d’attente réseau avant le début de l’échange d’authentification correspond à une défaillance différente d’une réponse auth_invalid après réception du jeton par le serveur.
L’accès à distance modifie la manière dont le client atteint Home Assistant
Par défaut, Home Assistant est local. L’accès à distance peut être fourni par Home Assistant Cloud, un VPN, un proxy inverse ou un chemin direct volontairement sécurisé. Chaque option modifie le routage et l’exposition, mais la destination reste la même instance Home Assistant.
Le guide actuel sur l’accès à distance distingue les itinéraires Cloud, VPN, proxy inverse et redirection de ports. Les proxys inverses introduisent également une limite de confiance, car Home Assistant doit savoir quel proxy est autorisé à fournir les informations de requête transmises.
C’est pourquoi une modification du routeur, du DNS, du certificat ou du proxy peut interrompre l’accès à distance sans qu’il soit nécessaire de recréer les utilisateurs.
Les sessions locales et distantes peuvent présenter des risques réseau différents
Une connexion au réseau local peut rester à l’intérieur d’un réseau domestique de confiance, tandis qu’une connexion distante peut traverser l’Internet public ou un réseau superposé. Une conception distante sécurisée ajoute donc le chiffrement, le renforcement du proxy, une politique VPN et l’authentification multifacteur autour du même système de comptes Home Assistant.
Ne confondez pas « même modèle d’authentification » et « même exposition réseau ». Un port public direct, un tunnel cloud géré et un VPN privé présentent des surfaces d’attaque différentes, même si tous trois finissent par transmettre des jetons d’accès Home Assistant.
Le guide de sécurité de l’accès à distance de ZimaSpace fournit le cadre réseau plus large nécessaire pour décider quel chemin doit transporter ces sessions authentifiées.
Faites la distinction entre les défaillances de routage et d’authentification
| Symptôme | Couche probablement concernée | Première distinction |
|---|---|---|
| Le nom d’hôte distant ne se résout pas | DNS / routage | L’authentification n’a pas commencé |
| Erreur TLS ou proxy avant la connexion | Chemin d’accès distant | Testez l’accès local direct |
| HTTP 401 renvoyé par l’API Home Assistant | Jeton / authentification | Actualisez le jeton ou authentifiez de nouveau le client |
| Le WebSocket renvoie auth_invalid | Jeton / authentification | Validez l’autorisation du client |
| L’accès local fonctionne, mais le chemin distant échoue | DNS/VPN/proxy/NAT | Ne réinitialisez pas les utilisateurs en premier |
Le modèle mental le plus simple est le suivant : identité d’abord, jeton de session ensuite, chemin réseau enfin. Les clients locaux et distants peuvent emprunter des chemins réseau très différents, mais ils ont toujours besoin d’une autorisation Home Assistant valide une fois qu’ils ont atteint l’instance.
FAQ
L’accès distant à Home Assistant nécessite-t-il un autre mot de passe ou un autre compte ?
Non. Les clients distants s’authentifient généralement auprès du même système d’utilisateurs Home Assistant. La méthode d’accès à distance modifie la manière dont le client atteint l’instance, et non la base d’utilisateurs qui gère le compte.
Dois-je supprimer les jetons lorsque seule l’URL distante ne fonctionne plus ?
Pas en première intention. Vérifiez d’abord que le DNS, le VPN, le proxy, le TLS ou le NAT permettent d’atteindre Home Assistant. Réinitialisez les jetons ou authentifiez de nouveau les clients lorsque Home Assistant lui-même rejette l’authentification, et non simplement lorsque le chemin réseau est indisponible.
Centre Tech & IA
Plus à lire

État d’exécution vs état persistant dans Home Assistant : que doit survivre à un redémarrage ?
Home Assistant ne conserve pas chaque valeur en temps réel ; la configuration, les registres, certains états restaurés, l’historique et les données de déploiement...

Pourquoi les requêtes d’historique de Home Assistant peuvent-elles ralentir à mesure que les données de l’enregistreur augmentent ?
L’augmentation du nombre d’enregistrements peut accroître le coût des requêtes d’historique lorsque la plage demandée concerne davantage de lignes, que les défauts de cache...

Pourquoi Home Assistant reconstruit-il un état différent après le redémarrage d’un conteneur ?
Le redémarrage du conteneur n’entraîne pas la perte de l’état : Home Assistant reconstruit l’état d’exécution à partir de la configuration persistante, des intégrations,...

