Pour suivre ce flux de travail, assurez-vous d’avoir :
- Un locataire de développement Auth0 configuré avec Universal Login et un domaine personnalisé.
- Une application propriétaire Auth0
- Identifier First Authentication activé dans votre locataire Auth0.
- Un compte AWS avec les autorisations nécessaires pour créer des rôles IAM, des compartiments S3 et configurer CloudFront
- Un dépôt GitHub contenant vos écrans de connexion personnalisés
- Générer les bundles de ressources de vos écrans
- Le flux de travail lit le fichier config/deploy_config.yml afin de déterminer quels écrans sont marqués pour le déploiement.
- Si des cibles de déploiement sont trouvées, le flux de travail génère vos ressources ACUL à l’aide de Vite et compile le code dans le répertoire
/dist. - Téléverser vos ressources vers AWS S3
- Le flux de travail s’authentifie de façon sécurisée auprès d’AWS à l’aide d’OpenID Connect (OIDC).
- Il téléverse le contenu du répertoire
/distdans votre compartiment S3.
- Configurer votre locataire Auth0
- Le flux de travail utilise Auth0 CLI avec une application M2M pour configurer les écrans dans votre locataire.
- Il associe chaque écran à l’écran Auth0 approprié à l’aide du fichier config/screen-to-prompt-mapping.js.
- Il met à jour les paramètres de personnalisation des écrans Auth0 pour qu’ils pointent vers vos ressources sur le CDN CloudFront.
git push vers la branche main de votre projet lance le flux de travail GitHub.
Pour consulter un exemple complet du flux de travail de déploiement d’ACUL en production, consultez ACUL GITHUB ACTIONS sur GitHub.
1. Configuration d’Auth0
- Accédez à Auth0 Dashboard > Applications.
- Sélectionnez Create Application.
- Sélectionnez Machine to Machine Applications.
- Sous Name, ajoutez un nom descriptif, par exemple :
GitHub ACUL Deployment. - Sélectionnez Create.
- Sous Authorize Machine to Machine Application, sélectionnez Auth0 Management API.
- Sélectionnez les autorisations suivantes :
read:brandingupdate:brandingread:promptsupdate:promptsread:custom_domains
- Sélectionnez Authorize.
- Accédez à l’onglet Settings et prenez en note :
DomainClient IDClient Secret
2. Téléversez et diffusez vos ressources avec Amazon Web Services
- Créez un compartiment AWS S3. Bloquez tout accès public afin que ce compartiment demeure privé. Ce compartiment privé stocke vos ressources.
- Configurez une distribution CloudFront. Ce CDN diffuse vos ressources de façon sécurisée. Il doit être configuré pour utiliser votre compartiment S3 comme
Originà l’aide d’Origin Access Control (OAC).
3. Créer un rôle IAM dans AWS pour GitHub Actions
- Ce rôle IAM doit utiliser l’identité Web (OIDC) et faire confiance à
token.actions.githubusercontent.com. - Le rôle doit être associé à une stratégie accordant les autorisations
s3:PutObject,s3:DeleteObjectets3:ListBucketsur votre compartiment S3.
4. Configurez votre dépôt GitHub
- Accédez à GitHub > Settings.
- Sélectionnez Secrets and Variables, puis Actions.
- Sélectionnez New repository secret.
AWS_S3_ARN: l’ARN du rôle IAM que vous avez créé.S3_BUCKET_NAME: le nom de votre compartiment S3.AWS_REGION: la région où se trouve votre compartiment S3. Par exemple,us-east-1.S3_CDN_URL: le nom de domaine de votre distribution CloudFront. N’ajoutez pas de barre oblique à la fin. Par exemple, https://d1234abcdef.cloudfront.net.AUTH0_DOMAIN: le Domaine de votre locataire Auth0.AUTH0_CLIENT_ID: l’ID client de votre application M2M.AUTH0_CLIENT_SECRET: le Secret client de votre application M2M.
5. Configurez votre déploiement
.github/config/ :
config/deploy_config.yml: Votre panneau de contrôle principal. Définissez un écran àtruepour le déployer ou àfalsepour l’ignorer.config/screen-to-prompt-mapping.js: Fait la correspondance entre les noms de répertoire internes de vos écrans. Exemple :mfa-sms-challengecorrespond au nom officiel de l’invite Auth0mfa-sms.config/context-configuration.js: Définit les données de contexte Auth0. Exemple : les paramètres d’image de marque doivent être mis à la disposition de vos écrans personnalisés.