Authentification & SSO
Architecture de l'authentification unifiée avec Pocket-ID et Tinyauth
L'accès aux services de l'infrastructure asops.fr est protégé selon deux mécanismes complémentaires :
- Pocket-ID : Fournisseur d'identité OIDC moderne et léger, hébergé sur
id.asops.fr. - Tinyauth : Middleware forward-auth ultra-rapide pour Traefik, protégeant les interfaces d'administration n'intégrant pas d'authentification native.
🆔 Pocket-ID (id.asops.fr)
Pocket-ID est la solution de SSO centrale du homelab. Elle permet :
- Une connexion unique via Passkeys (WebAuthn), clés matérielles FIDO2 ou mot de passe.
- La gestion centralisée des utilisateurs et des groupes.
- La compatibilité standard OpenID Connect (OIDC) pour les applications qui le supportent.
🛡️ Middleware Tinyauth pour Traefik
Pour les outils légers ne disposant pas d'un système d'authentification interne (ou dont l'authentification est basique), Traefik utilise le middleware tinyauth.
Utilisation dans un fichier Compose
Pour placer un service derrière Tinyauth, il suffit d'ajouter le middleware dans la liste des middlewares Traefik :
labels:
- "traefik.enable=true"
- "traefik.http.routers.<app>.rule=Host(`<app>.asops.fr`)"
- "traefik.http.routers.<app>.middlewares=crowdsec@docker,tinyauth"Règle d'Or
Ne JAMAIS activer le middleware Tinyauth sur les endpoints consommés par :
- Les applications mobiles (ex : Audiobookshelf, clients Jellyfin/Plex).
- Les flux proxy et APIs programmatiques (ex : MediaFlow Proxy, endpoints Gotify push).
Une telle configuration bloquerait les requêtes HTTP sans session de navigateur avec une redirection 302 vers l'écran de connexion.