Skip to main content

Vaultwarden

Objectif : Configurer Vaultwarden (serveur compatible Bitwarden) pour utiliser Authentik comme fournisseur d’authentification OIDC (SSO). Cela permet aux utilisateurs de s’authentifier via Authentik sur l’interface Vaultwarden.


Pré‑requis

Avant de commencer :

  • Vous êtes administrateur d’Authentik.

  • Votre instance Vaultwarden est accessible via HTTPS (ex. https://vaultwarden.votredomaine).

  • Votre instance Authentik est accessible en HTTPS (ex. https://authentik.votredomaine).

  • Vous connaissez les détails du déploiement Vaultwarden (Docker/Kubernetes ou autre).


Configuration dans Authentik

Créer une mappage de scope personnalisé

Vaultwarden attend que le scope email comprenne une propriété email_verified: True. Par défaut, Authentik renvoie email_verified: False, ce qui empêche Vaultwarden d’accepter les connexions.

  1. Dans Authentik, allez à Customization → Property Mappings.

  2. Cliquez sur Create.

  3. Sélectionnez Scope Mapping comme type.

  4. Configurez comme suit :

    • Scope name : email

    • Expression :

      return {
          "email": request.user.email,
          "email_verified": True
      }
  5. Enregistrez ce mappage.


Créer une application et un provider OIDC

  1. Dans Authentik, allez à Applications → Applications.

  2. Cliquez sur Create with Provider pour créer une application et un provider.

  3. Pour l’application :

    • Name : un nom descriptif (ex. Vaultwarden SSO).

  4. Pour le provider, choisissez OAuth2/OpenID Connect.

  5. Dans les paramètres du provider :

    • Redirect URI strict :

       

      https://vaultwarden.votredomaine/identity/connect/oidc-signin

      remplacez vaultwarden.votredomaine par votre domaine réel).

       

    • Signing Key : choisissez une clé valide.

  6. Sous Advanced protocol settings :

    • Access token validity : définissez une durée > 5 minutes.

    • Dans Selected Scopes :

      • Assurez‑vous d’ajouter offline_access.

      • Retirez le scope “authentik default OAuth Mapping: OpenID 'email'”.

      • Ajoutez le scope personnalisé que vous avez créé au lieu du scope email par défaut.

  7. Notez le Client ID, Client Secret et slug générés : ils seront utilisés dans Vaultwarden.

  8. Enregistrez le provider/application.


Configuration de Vaultwarden

Pour activer SSO dans Vaultwarden via OIDC, vous devez définir les variables d’environnement appropriées :

Variables d’environnement à ajouter

Ajoutez les lignes suivantes à la configuration de votre déploiement (Docker, Kubernetes, etc.) :

SSO_ENABLED=true
SSO_AUTHORITY=https://authentik.votredomaine/application/o/<application_slug>/
SSO_CLIENT_ID=<Client ID provenant d’Authentik>
SSO_CLIENT_SECRET=<Client Secret provenant d’Authentik>
SSO_SCOPES="openid email profile offline_access"
SSO_ALLOW_UNKNOWN_EMAIL_VERIFICATION=false
SSO_CLIENT_CACHE_EXPIRATION=0
SSO_ONLY=false
SSO_SIGNUPS_MATCH_EMAIL=true

Explications principales :

  • SSO_ENABLED=true → active le support SSO dans Vaultwarden.

  • SSO_AUTHORITY → URL de découverte du provider Authentik.

  • SSO_SCOPES → scopes demandés, incluant offline_access requis pour Vaultwarden.

  • SSO_ONLY=false → permet aussi l’authentification locale (désactive uniquement SSO si mis à true).

  • SSO_SIGNUPS_MATCH_EMAIL=true → associe la première connexion OIDC à un compte existant si l’email correspond.

Assurez‑vous que votre instance Vaultwarden supporte bien OIDC pour SSO (SSO support est stable depuis les versions récentes, voir release notes de Vaultwarden 1.35+).


Redémarrer Vaultwarden

Après avoir ajouté les variables, redémarrez Vaultwarden pour appliquer la configuration.


Vérification de l’intégration

  1. Ouvrez l’URL de connexion de Vaultwarden dans votre navigateur.

  2. Sur la page de connexion, entrez un email valide d’utilisateur et cliquez sur Use single sign‑on (ou équivalent).

  3. Vous devriez être redirigé vers Authentik pour l’authentification, puis revenir automatiquement connecté à Vaultwarden.

Si l’authentification échoue, vérifiez que le redirect URI configuré dans Authentik correspond exactement à celui utilisé par Vaultwarden et que le scope personnalisé est bien appliqué.


Conseils et points d’attention

Emails vérifiés : Vaultwarden exige que l’email retourné soit marqué comme vérifié (email_verified: True). C’est pour cela qu’on crée un scope mapping spécifique.
Compatibilité mobile/app : SSO via OIDC fonctionne pour l’interface web. Certaines applications clientes (mobile / extension) peuvent nécessiter des ajustements de reverse proxy ou des “unauthenticated paths” si elles utilisent des flux différents.
Master password : même avec SSO activé, Vaultwarden peut toujours demander le mot de passe maître pour déchiffrer le coffre, car SSO n’en gère que l’authentification, pas le cryptage des données.