Aller au contenu
Voir dans l’app

Une meilleure façon de naviguer. Voir plus.

Forum Domotique

Une application en plein écran, avec notifications, badges et accès direct depuis l’accueil.

Pour installer cette application sur iOS et iPadOS
  1. Touchez l’icône de partage dans Safari.
  2. Faites défiler le menu et touchez Ajouter à l’écran d’accueil.
  3. Touchez Ajouter en haut à droite.
Pour installer cette application sur Android
  1. Appuyez sur le menu ⋮ en haut à droite du navigateur.
  2. Appuyez sur Ajouter à l'écran d'accueil ou Installer l'application
  3. Confirmez en appuyant sur Installer.

Boucle de redirection external_auth avec Pangolin, impossible d’accéder à Home Assistant depuis l’app Android

Featured Replies

Posté(e)

Bonjour tout le monde,

J'étais intéressé par Tailscale et sa version Open Source, mais c'était vraiment trop complexe pour ma petite tête 😆
Quelqu'un m'a parlé de Pangolin et la solution me parait idéale et fonctionne plutôt bien à un détail près "Y accéder depuis l'application mobile".

Du coup pangolin est une solution qui regroupe 3 projet et est utilisable notamment via Docker Compose pour se faciliter la tâche (on aime ça) 😁
Je vous laisse faire vos petites recherches, mais en gros ça permet de déporter la sécurité de votre réseau sur un autre, tout en y ajoutant une couche de contrôle d'accès.

Tout fonctionne parfaitement de ce que j'ai pu constater, mais lorsque j'essai d'accéder à Home Assistant depuis l'application Android ça se complique.
Il m'ouvre le navigateur (ce qui est probablement normal), et me dit qu'il est impossible d'accéder à Home Assistant (avec le fameux Retry Now)...

En faisant des recherches je tombe sur le fait qu'il y a une boucle de redirections certainement causé par le fait que Home Assistant ne comprend pas ce que Pangolin lui envoi.
Il existe OpenID Connect qui pourrait régler le problème, sauf que ça ajoute une authentification externe et non celle de Home Assistant. SPOILER: Ce n'est pas ce que je souhaite.

En gros, il y a une phase d'authentification côté Pangolin (ou non si on l'est déjà), puis l'authentification classique de Home Assistant.
Tout ce mécanisme est grippé par le paramètre de requête "external_auth".

Petite précision supplémentaire, j'utilise Home Assistant en HTTP de façon très classique depuis mon réseau, et Pangolin utilise le reverse proxy pour me permettre d'y accéder en HTTPS.
Dans le fichier de configuration de Home Assistant on peut utiliser "auth_providers" et/ou "trusted_proxies" couplé avec "use_x_forwarded_for", je suis à cours d'idées.

Si vous avez une idée du problème et comment le régler... ... Je vous paye un café!

  • 2 mois plus tard...
Posté(e)
  • Auteur

Salut, je n'ai pas trouvé de solution à ce jour. Ma seule solution c'est d'ouvrir cette partie de mon réseau...

Les possibilités proposées sont très ciblées et donc ne sont pas accessibles à tout utilisateur, ce qui ne me convient absolument pas.
Merci quand même pour le liens 🙂

  • 3 semaines plus tard...
Posté(e)

Bonjour,

Je suivais ton post sur Headscale et je suis déçu d’apprendre que tu n’as pas réussi à le mettre en place. J’apprécie beaucoup Tailscale. Je n’ai pas encore besoin de gérer plusieurs utilisateurs, donc je ne me suis pas encore penché sur Headscale. J’ai récemment mis en place un VPS qui me sert de point d’entrée vers mon réseau privé.

Mon nom de domaine est géré par Cloudflare. Toutes les requêtes passent par Cloudflare Tunnel vers le VPS, ce qui permet de garder l’adresse IP publique du VPS privée et de ne rien exposer dans le DNS public. Les sous-domaines restent également invisibles, ce qui empêche de deviner les services qui tournent. Cloudflare Tunnel ne répond qu’aux sous-domaines autorisés et redirige le trafic vers mon VPS.

Le VPS n’accepte les connexions qu’en HTTPS sur le port 443. Un reverse proxy Swag gère l’authentification via Authelia, puis distribue le trafic soit vers des services internes au VPS, soit vers un second reverse proxy Swag chez moi en passant par le VPN Tailscale.

Je suis satisfait de cette architecture : la seule information publique visible est mon nom de domaine.
Je ne connaissais pas Pangolin ; le principe semble similaire : un reverse proxy sur un VPS qui renvoie le trafic vers ton réseau domestique via un tunnel, sans rien exposer directement sur la box.

Concernant ton problème, j’ai eu le même comportement avec Authelia et Home Assistant : les deux systèmes d’authentification entraient dans une boucle infinie. J’ai fini par contourner l’authentification Authelia pour Home Assistant. Cela ne me dérange pas, car je n’avais pas l’intention d’exposer Home Assistant en dehors de mon réseau Tailscale.

Je suis très intéressé si tu trouves une solution qui pourra peut etre m'être également utile.

Posté(e)
  • Auteur

Je pense que tu es plus calé que moi sur tout ça, je ne fais souvent qu'utiliser des solutions toutes faites.

Malheureusement j'ai complètement exposé Home Assistant et Jellyfin depuis pangolin pour que les applications puissent fonctionner (tout le reste passe par l'authentification Pangolin).
J'espérai utiliser une fonctionnalité fail2ban qui met un délai entre chaque authentification, mais aucun des deux ne le fait.
La seule chose permis est le ban d'IP ou le blocage du compte au bout d'un certain nombre d'essais...

Je ne comprend pas comment des solutions aussi complexes et utilisées par un nombre astronomique de personne, n'a pas plus de sécurités intégrées!
Bref, pour le moment ça me convient, même si le fait de donner accès aux services directement me dérange fortement.
Après je suis un petit dev, je ne me permettrai pas de critiquer ceux qui contribuent, j'en serai incapable (ou ça me prendrait tout mon temps pour des broutilles).

Rejoindre la conversation

Vous pouvez commenter maintenant et vous inscrire plus tard. Si vous possédez un compte, connectez-vous.

Invité
Répondre à ce sujet…

Compte

Navigation

Rechercher

Rechercher

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.