Personnaliser l'Universal Login Auth0 : branding, templates et Liquid
L'Universal Login est la page de connexion hébergée par Auth0. Personnalisez son apparence avec votre logo, vos couleurs, des templates HTML et le moteur Liquid.
Par Auth0.Expert · 2025-03-20 · 10 min de lecture
Universal Login Auth0 : personnalisation complète
TL;DR
L'Universal Login Auth0 est la page de connexion hébergée par Auth0. Elle est plus sécurisée que l'Embedded Login (votre propre formulaire) et supporte le branding via le nouveau design system ou des templates HTML/Liquid.
---
Universal Login vs Embedded Login
Voici un tableau qui compare les deux approches pour la gestion des connexions dans Auth0.
| Critère | Universal Login | Embedded Login | |---------|----------------|----------------| | Sécurité | ✅ Credentials ne passent jamais par votre app | ⚠️ Credentials visibles par votre app | | SSO entre apps | ✅ Cookie session Auth0 partagé | ❌ Chaque app gère sa session | | Personnalisation | ✅ Logo, couleurs, HTML | ✅ Total (votre propre UI) | | Maintenance | ✅ Auth0 maintient | ⚠️ Vous maintenez | | MFA | ✅ Intégré | Complexe à intégrer |
Recommandation : Universal Login sauf si vous avez des exigences UX très spécifiques.
---
Branding simple (Dashboard)
Cette configuration JSON permet de personnaliser rapidement les couleurs, le logo, et la typographie de votre Universal Login directement depuis le Dashboard Auth0.
{
"logo_url": "https://yourapp.com/logo.png",
"favicon_url": "https://yourapp.com/favicon.ico",
"colors": {
"primary": "#0052CC",
"page_background": "#F4F6F9"
},
"font": {
"url": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap"
}
}
---
Template HTML complet
Voici comment réaliser une personnalisation avancée grâce à un template HTML modifiable dans le Dashboard Auth0. Ce template vous permet de contrôler le rendu et l’intégration du widget Auth0 en utilisant du HTML et du CSS.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<title>{{ prompt.screen_texts.page_title }}</title>
<style>
body {
font-family: 'Inter', sans-serif;
background: #0F0F1A;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
}
.login-container {
background: rgba(255,255,255,0.05);
border: 1px solid rgba(255,255,255,0.1);
border-radius: 16px;
padding: 40px;
width: 360px;
backdrop-filter: blur(10px);
}
.logo {
text-align: center;
margin-bottom: 32px;
}
.logo img {
height: 40px;
}
</style>
</head>
<body>
<div class="login-container">
<div class="logo">
<img src="https://yourapp.com/logo.png" alt="YourApp" />
</div>
{%- auth0:widget -%}
</div>
</body>
</html>
Ce template met en page la fenêtre de connexion avec un style moderne et intègre le widget Auth0.
---
Variables Liquid disponibles
Ce bloc présente les variables Liquid utilisables dans vos templates pour adapter dynamiquement le contenu à vos utilisateurs et applications.
{{ tenant.name }} <!-- Nom du tenant -->
{{ client.name }} <!-- Nom de l'application -->
{{ client.logo_uri }} <!-- Logo de l'application -->
{{ prompt.screen_texts }} <!-- Textes de l'écran courant -->
{{ branding.settings }} <!-- Paramètres de branding -->
<!-- Condition sur le prompt actuel -->
{% if prompt.name == 'login' %}
<p>Connectez-vous à {{ client.name }}</p>
{% elsif prompt.name == 'signup' %}
<p>Créez votre compte</p>
{% endif %}
---
Internationalisation
Pour adapter la langue de l’interface en fonction de l’utilisateur, cet exemple montre comment agir via une Action Auth0. Il est également possible de forcer la langue dans l’URL.
// Action : changer la langue en fonction de l'utilisateur
exports.onExecutePostLogin = async (event, api) => {
// La langue est détectée automatiquement via Accept-Language
// Forcer une langue spécifique :
// (dans l'URL : ?ui_locales=fr)
};
Auth0 supporte nativement : EN, FR, DE, ES, IT, PT, JA, KO, ZH.
Pour personnaliser les textes affichés dans les écrans de connexion, modifiez les champs ci-dessous dans le Dashboard Auth0.
{
"login": {
"title": "Bienvenue chez YourApp",
"description": "Connectez-vous pour accéder à votre espace"
}
}
---
Email Templates
Cette section liste les différents types d’emails automatiques qu’Auth0 peut envoyer selon divers événements de sécurité ou d’identification.
| Template | Déclencheur | |----------|-------------| | Verify Email | Inscription | | Reset Password | Mot de passe oublié | | Welcome | Premier login | | Blocked Account | Trop d'échecs | | Enrollment Code | MFA Guardian | | MFA OTP | Code OTP par email | | Change Password | Confirmation changement | | Invitation | Organization invite |
---
> 🎨 Branding Auth0 clé en main : nous créons une expérience de connexion 100% à votre image en 3 jours ouvrés, compatible mobile et multi-langue.
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
- Concevoir son architecture de tenants Auth0 : dev, staging, prod
- Configurer un domaine personnalisé Auth0 : login.votredomaine.com étape par étape