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.
-
Dans Authentik, allez à Customization → Property Mappings.
-
Cliquez sur Create.
-
Sélectionnez Scope Mapping comme type.
-
Configurez comme suit :
-
Scope name :
email -
Expression :
return { "email": request.user.email, "email_verified": True }
-
-
Enregistrez ce mappage.
Créer une application et un provider OIDC
-
Dans Authentik, allez à Applications → Applications.
-
Cliquez sur Create with Provider pour créer une application et un provider.
-
Pour l’application :
-
Name : un nom descriptif (ex. Vaultwarden SSO).
-
-
Pour le provider, choisissez OAuth2/OpenID Connect.
-
Dans les paramètres du provider :
-
Redirect URI strict :
https://vaultwarden.votredomaine/identity/connect/oidc-signinremplacez
vaultwarden.votredomainepar votre domaine réel). -
Signing Key : choisissez une clé valide.
-
-
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.
-
-
-
Notez le Client ID, Client Secret et slug générés : ils seront utilisés dans Vaultwarden.
-
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, incluantoffline_accessrequis 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
-
Ouvrez l’URL de connexion de Vaultwarden dans votre navigateur.
-
Sur la page de connexion, entrez un email valide d’utilisateur et cliquez sur Use single sign‑on (ou équivalent).
-
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.