Skip to main content

Integrate with Home Assistant

Objectif : Permettre à Home Assistant d’utiliser Authentik comme fournisseur d’authentification pour connecter des utilisateurs via OpenID Connect (OIDC) ou en utilisant un reverse proxy avec authentik comme Proxy Provider.


Pré‑requis

Avant de commencer :

  • Vous avez un accès administrateur à Authentik.

  • Vous avez accès à votre instance Home Assistant, idéalement via un nom de domaine complet (ex. hass.company).

  • Vous connaissez le nom de domaine de votre Authentik (authentik.company).

  • Pour la méthode proxy, une Outpost Authentik doit pouvoir atteindre Home Assistant.


Configuration dans Authentik

1.1 Créer une application et un provider OAuth2/OpenID Connect

  1. Connectez‑vous à l’interface administrateur d’Authentik.

  2. Allez dans Applications → Applications.

  3. Cliquez sur Create with Provider pour créer une application avec un provider associé.

  4. Dans la configuration :

    • Provider type : OAuth2/OpenID Connect.

    • Redirect URI strict :

      http://hass.company:8123/auth/openid/callback

      (remplacez hass.company par le domaine de votre Home Assistant)

    • Signing Key : sélectionnez une clé valide.

  5. Notez le Client ID, le Client Secret et le slug de l’application — ils seront utilisés dans Home Assistant.

  6. Cliquez sur Submit pour enregistrer.


Configuration de Home Assistant (méthode OIDC)

Installer l’intégration hass‑openid

  1. Installez l’intégration hass‑openid dans Home Assistant en suivant les instructions du dépôt GitHub de l’intégration.

Modifier le fichier configuration.yaml

  1. Dans l’interface de votre instance Home Assistant, éditez le fichier /config/configuration.yaml pour ajouter la configuration OpenID Connect :

openid:
    client_id: <authentik_client_ID>
    client_secret: <authentik_client_secret>
    configure_url: "https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration"
    scope: "openid profile email"
    username_field: "preferred_username"
    block_login: false
  • client_id et client_secret : valeurs récupérées depuis Authentik.

  • configure_url : URL de découverte OpenID basée sur le slug de l’application.

  1. Enregistrez le fichier et redémarrez Home Assistant pour appliquer les changements.

Note importante : vous devez avoir créé au moins un utilisateur OIDC dans Home Assistant avant de pouvoir vous connecter via OIDC.


Configuration via un proxy (méthode alternative)

Home Assistant n’implémente pas d’authentification OIDC native complète dans toutes les versions. Pour contourner cela, vous pouvez utiliser une Authentik Proxy Provider + un reverse proxy.

Créer un Proxy Provider dans Authentik

  1. Allez dans Applications → Providers, puis créez un Proxy Provider.

  2. Réglez les paramètres :

    • Name : Home Assistant.

    • Internal Host : http://hass.company:8123 (URL interne de Home Assistant).

    • External Host : l’URL publique que vous utilisez pour accéder à Home Assistant (ex. https://hass.company).

  3. Créez ensuite une Application en liaison avec ce provider.

Déployer un Authentik Outpost

  1. Déployez un Outpost Authentik sur une machine qui peut atteindre votre Home Assistant. L’Outpost permettra à Authentik de gérer les requêtes proxy vers Home Assistant.

Configurer le proxy inverse

  1. Configurez votre reverse proxy (par exemple Traefik, Nginx, Caddy) pour :

    • Rediriger le trafic vers le service Authentik Proxy Outpost pour les chemins d’authentification.

    • Proxy‑pass les autres requêtes vers Home Assistant.


Test de l’intégration

  1. OIDC : déconnectez‑vous de Home Assistant (si connecté).

  2. Ouvrez l’URL publique de Home Assistant dans un navigateur.

  3. Cliquez sur le bouton de connexion OIDC (ou essayez de vous authentifier via le système OIDC).

  4. Vous devriez être redirigé vers Authentik pour l’authentification, puis revenir automatiquement dans Home Assistant une fois connecté.