Aller au contenu principal

SSO Authentik

Chatbotaurus utilise Authentik comme fournisseur d'identite centralise 100% EU avec 2FA TOTP obligatoire pour les roles admin et operator.

Architecture

Authentik (VPS1)
auth.staging.chatbotaurus.eu
Application: chatbotaurus
|
+----+----+
| |
VPS1 VPS2
Traefik Traefik
| |
ForwardAuth ForwardAuth

Deux methodes de protection

MethodeQuand l'utiliserServices
OIDC natifLe service supporte OpenID ConnectForgejo, Grafana, Nextcloud, Rocket.Chat
ForwardAuthLe service n'a pas d'OIDC natifOdoo, n8n, Cal.com, CryptPad, Listmonk, Moodle, pgAdmin

Configuration OIDC

Pour les services avec support OIDC natif :

  1. Creer une application dans Authentik
  2. Creer un provider OAuth2/OIDC pour l'application
  3. Configurer le redirect URI du service
  4. Recuperer le client ID et le secret
  5. Configurer le service avec ces credentials

Configuration ForwardAuth

Pour les services sans OIDC natif, Traefik intercepte les requetes et les redirige vers Authentik :

  1. Configurer le middleware ForwardAuth dans Traefik
  2. Pointer vers l'endpoint d'authentification Authentik
  3. Le service recoit les headers d'authentification de Traefik

2FA TOTP

Le 2FA TOTP est obligatoire pour :

  • Tous les utilisateurs avec le role admin
  • Tous les utilisateurs avec le role operator

Configuration dans Authentik :

  • Admin > Flows & Stages > Stages > Creer un stage TOTP
  • Ajouter le stage au flow d'authentification
  • Politique : algorithme SHA-1, 6 chiffres, periode 30s

Ajout d'un nouveau service

Service avec OIDC natif

  1. Creer l'application dans Authentik
  2. Creer le provider OAuth2/OIDC
  3. Configurer les redirect URIs
  4. Activer le service dans la configuration du service cible

Service sans OIDC (ForwardAuth)

  1. Ajouter le middleware ForwardAuth dans la configuration Traefik dynamique
  2. Configurer les headers de transmission (X-Forwarded-User, etc.)
  3. Tester l'acces via le navigateur

Fichiers de reference

FichierContenu
containers/traefik/vps1-staging-dynamic.ymlConfig Traefik VPS1
containers/traefik/vps2-dynamic.ymlConfig Traefik VPS2

Avantages Authentik

  • Interface moderne et intuitive
  • Configuration plus simple
  • Meilleure integration avec Traefik ForwardAuth
  • Moins gourmand en ressources (512 Mi vs 2 Gi)
  • 100% compatible OIDC/OAuth2