Ce guide décrit comment configurer l'authentification Single Sign-On (SSO) avec Azure Active Directory pour votre application. Cette configuration supporte à la fois Azure AD cloud et les déploiements Active Directory Federation Services (ADFS) on-premises.
⚠️ Important : Les callbacks Azure AD sont gérés par l'API serveur, pas par le frontend. Utilisez l'URL de votre API dans la configuration.
Prérequis
Accès administrateur à Azure AD
Permissions pour créer des App Registrations
Accès aux variables d'environnement de votre application
Accédez à Azure Active Directory > App registrations
Cliquez sur New registration
Configurez :
Name : Nom de votre application (ex: "DevanaAI SSO")
Supported account types : "Accounts in this organizational directory only"
Redirect URI : Type "Web" + https://votre-api.com/auth/azuread/callback (URL de l'API serveur)
Étape 2 : Configuration des URI de redirection
Dans votre App Registration > Authentication
Ajoutez les URI de redirection :
Production : https://votre-api.com/auth/azuread/callback (API serveur)
Cochez ID tokens et Access tokens dans la section "Implicit grant and hybrid flows"
Étape 3 : Générer un secret client
Accédez à Certificates & secrets
Cliquez sur New client secret
Configurez :
Description : "DevanaAI Client Secret"
Expires : 24 months (recommandé)
⚠️ Copiez immédiatement la valeur du secret (elle ne sera plus accessible)
2. Configuration des permissions API
Permissions Microsoft Graph requises :
Dans API permissions > Add a permission > Microsoft Graph
Sélectionnez Delegated permissions et ajoutez :
Permissions obligatoires :
User.Read - Lire le profil utilisateur de base ainsi que ses groupes
Permissions optionnelles :
GroupMember.Read.All - Lire les groupes que les utilisateurs peuvent voir
Group.Read.All - Alternative à GroupMember.Read.All (plus de permissions)
Directory.Read.All - Lire les rôles directory (si nécessaire)
Cliquez sur Grant admin consent pour approuver les permissions
3. Configuration des claims de tokens
Ajouter les groupes aux tokens :
Accédez à Token configuration
Cliquez sur Add optional claim
Sélectionnez ID tokens
Cochez groups
Cliquez sur Add
Configuration avancée des groupes :
Groups assigned to the application : Recommandé pour limiter les groupes inclus
All groups : Inclut tous les groupes (peut créer des tokens volumineux)
Security groups : Seulement les groupes de sécurité
4. Configuration on-premises ADFS (Alternative)
Configuration de l'application ADFS :
Ouvrir la Console de gestion ADFS
Naviguer vers "Application Groups"
Créer un nouveau groupe d'applications pour l'application web et l'API web
Configurer l'URI de redirection : https://votre-api.com/auth/azuread/callback
Obtenir l'URL des métadonnées :
L'URL des métadonnées suit le pattern :
https://votre-serveur-adfs/.well-known/openid-configuration
5. Configuration des variables d'environnement
Pour Azure AD Cloud :
# Configuration Azure AD obligatoire
AZURE_AD_CLIENT_ID=votre-client-id
AZURE_AD_CLIENT_SECRET=votre-client-secret
AZURE_AD_TENANT_ID=votre-tenant-id
AZURE_AD_REDIRECT_URL=https://votre-api.com/auth/azuread/callback
# Scopes requis pour le bon fonctionnement
AZURE_AD_SCOPES=profile,offline_access,email,User.Read,GroupMember.Read.All
# Rôles/Groupes à synchroniser comme équipes (optionnel)
AZURE_AD_ROLES=Administrators,Users,Managers