Concevoir son architecture de tenants Auth0 : dev, staging, prod
Comment structurer vos tenants Auth0 pour le développement, les tests et la production ? Stratégies d'isolation, de promotion et de configuration as code.
Par Auth0.Expert · 2025-02-20 · 9 min de lecture
Architecture de tenants Auth0 : dev / staging / prod
TL;DR
Ne partagez jamais un tenant Auth0 entre développement et production. Ce guide présente les patterns d'architecture multi-tenant et comment automatiser la promotion des configurations.
---
Pattern recommandé : 3 tenants
Ce tableau présente le découpage classique entre tenants Auth0 pour isoler les environnements et sécuriser le cycle de développement.
myapp-dev.eu.auth0.com → Développeurs locaux, données fictives
myapp-staging.eu.auth0.com → Tests d'intégration, CI/CD
myapp.eu.auth0.com → Production
Pourquoi pas le même tenant ?
- Un développeur peut accidentellement modifier une Rule en prod
- Les logs de dev polluent les métriques prod
- Impossible de tester les migrations sans risque
- Les quotas de rate limiting sont partagés
---
Auth0 Deploy CLI : configuration as code
Cette partie montre comment installer et configurer Auth0 Deploy CLI pour gérer vos configurations infrastructure as code.
npm install -g auth0-deploy-cli
Ce fichier YAML permet de paramétrer vos accès Auth0 et de gérer les variables d'environnement pour le déploiement.
# config.yaml
AUTH0_DOMAIN: myapp-dev.eu.auth0.com
AUTH0_CLIENT_ID: your_deploy_client_id
AUTH0_CLIENT_SECRET: your_deploy_secret
AUTH0_KEYWORD_REPLACE_MAPPINGS:
API_URL: http://localhost:8001
APP_URL: http://localhost:3000
Ces commandes automatisent l'export et l'import de configuration entre tenants, pour un déploiement sécurisé et répétable.
# Exporter la config de dev
a0deploy export --config_file config-dev.yaml --format yaml --output_folder tenant-config/
# Importer sur staging
a0deploy import --config_file config-staging.yaml --input_file tenant-config/
Ce processus permet de transférer facilement une configuration validée de développement vers l'environnement de staging, tout en conservant les bonnes pratiques de déploiement.
---
Structure de dossiers Configuration as Code
Cette arborescence explique comment organiser les fichiers de configuration Auth0 pour chaque ressource (actions, apps, connexions).
tenant-config/
├── actions/
│ ├── post-login-add-roles.js
│ └── pre-registration-validation.js
├── clients/
│ ├── spa-app.json
│ └── mobile-app.json
├── connections/
│ ├── google-oauth2.json
│ └── enterprise-azure-ad.json
├── resource-servers/
│ └── main-api.json
├── rules/ # Legacy, à migrer vers actions
└── tenant.yaml
Cette structure permet de versionner et de partager l’ensemble des configurations Auth0 dans votre repo Git.
---
Keyword Replacement : un seul fichier, N environnements
Vous pouvez utiliser des mots-clés pour adapter votre configuration à chaque environnement sans dupliquer les fichiers.
// clients/spa-app.json
{
"name": "spa-app",
"callbacks": ["##APP_URL##/callback"],
"allowed_logout_urls": ["##APP_URL##"],
"web_origins": ["##APP_URL##"]
}
Voici un exemple d’utilisation du mapping de variables pour cibler local en dev, et le domaine officiel en prod.
# config-dev.yaml
AUTH0_KEYWORD_REPLACE_MAPPINGS:
APP_URL: http://localhost:3000
# config-prod.yaml
AUTH0_KEYWORD_REPLACE_MAPPINGS:
APP_URL: https://app.mycompany.com
---
Pipeline CI/CD GitHub Actions
Cette section décrit comment automatiser les déploiements Auth0 via GitHub Actions dès qu’une configuration est modifiée dans le dépôt.
name: Deploy Auth0 Config
on:
push:
branches: [main]
paths: ['tenant-config/**']
jobs:
deploy-staging:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm install -g auth0-deploy-cli
- run: |
a0deploy import --config_file config-staging.yaml --input_file tenant-config/
env:
AUTH0_CLIENT_SECRET: ${{ secrets.AUTH0_STAGING_SECRET }}
deploy-prod:
needs: [deploy-staging, run-integration-tests]
runs-on: ubuntu-latest
environment: production
steps:
- run: |
a0deploy import --config_file config-prod.yaml --input_file tenant-config/
env:
AUTH0_CLIENT_SECRET: ${{ secrets.AUTH0_PROD_SECRET }}
Ce workflow CI/CD garantit que vos modifications Auth0 sont testées puis déployées vers la production de façon contrôlée et sécurisée.
---
Checklist avant mise en production
Voici la liste des contrôles à effectuer avant de migrer une configuration Auth0 en prod, pour éviter les failles de sécurité et garantir la conformité.
- [ ] Custom domain configuré (
login.myapp.com) - [ ] Universal Login page personnalisée
- [ ] Rotation des secrets planifiée
- [ ] Alertes anomalies activées (Dashboard → Monitoring)
- [ ] Log streaming configuré (vers Datadog/Splunk)
- [ ] Backup des configurations (Deploy CLI)
- [ ] MFA forcé pour les admins du tenant
---
> 🏗️ Besoin d'une architecture Auth0 sur mesure ? Nous concevons et implémentons votre stratégie multi-tenant en tenant compte de vos contraintes de conformité et de scalabilité.
Autres articles
- Auth0 et OAuth 2.0 : architecture complète pour comprendre les flux d'autorisation
- OpenID Connect sur Auth0 : ID Token, UserInfo et discovery endpoint expliqués
- Configurer SAML 2.0 avec Auth0 : guide complet pour l'entreprise
- Migrer des Rules vers les Auth0 Actions : guide pas à pas
- Architecture multi-tenant avec Auth0 : organisations, isolation et bonnes pratiques
- Validation des JWT Auth0 : RS256 vs HS256, JWKS et pièges communs
- Configurer un domaine personnalisé Auth0 : login.votredomaine.com étape par étape
- Auth0 SDK React : authentification complète avec auth0-react