LumyriaDocs

Configuration SSO

Intégrez l'authentification unique avec votre infrastructure existante via JWT et refresh tokens.

Système d'authentification Lumyria

Lumyria utilise un système d'authentification moderne basé sur JWT avec refresh tokens automatiques et support multi-environnements. Intégration native avec les systèmes SSO enterprise.

🔐 Fonctionnalités de sécurité

  • JWT + Refresh tokens
  • Rotation automatique des tokens
  • Onboarding automatique
  • Multi-environnements (dev/prod)

🏢 Providers supportés

  • Azure Active Directory
  • Google Workspace
  • Okta
  • SAML 2.0 générique

Architecture d'authentification

Composants d'authentification

AuthContext.tsx

Gestion état authentification global

ProtectedRoute.tsx

Protection des routes sensibles

LoginForm.tsx

Interface de connexion

Flux d'authentification

# Flux JWT avec refresh token
1. Login → JWT access token (15min) + refresh token (7j)
2. Requêtes API → Authorization: Bearer <access_token>
3. Token expiré → Auto-refresh avec refresh token
4. Refresh token expiré → Redirect vers login
5. Logout → Invalidation côté serveur

Configuration Azure Active Directory

Étapes de configuration

1

Enregistrement d'application Azure

Créez une nouvelle application dans le portail Azure AD.

# Configuration application Azure
Nom: Lumyria Dashboard
Type: Application web
URL de redirection: https://your-domain.com/auth/callback
URL de déconnexion: https://your-domain.com/auth/logout
2

Configuration des permissions

Accordez les permissions nécessaires pour accéder aux données utilisateur.

Permissions Microsoft Graph
  • • User.Read (lecture profil)
  • • User.ReadBasic.All (infos de base)
  • • Group.Read.All (appartenance groupes)
  • • Directory.Read.All (structure AD)
Permissions déléguées
  • • openid (authentification)
  • • profile (profil utilisateur)
  • • email (adresse email)
  • • offline_access (refresh token)
3

Configuration Lumyria

Configurez les variables d'environnement dans votre backend.

# Variables environnement backend/.env
AZURE_CLIENT_ID=your-application-id
AZURE_CLIENT_SECRET=your-client-secret
AZURE_TENANT_ID=your-tenant-id
AZURE_REDIRECT_URI=https://your-domain.com/auth/callback
JWT_SECRET=your-256-bit-secret
JWT_REFRESH_SECRET=your-refresh-secret

Configuration Google Workspace

Console Google Cloud

  • • Créer un projet Google Cloud
  • • Activer Google+ API
  • • Configurer OAuth 2.0
  • • Domaines autorisés
  • • URLs de redirection

Configuration OAuth

GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-secret
GOOGLE_REDIRECT_URI=/auth/google/callback

Onboarding automatique

Lumyria peut créer automatiquement des comptes utilisateurs lors de la première connexion SSO.

Processus d'onboarding

  • • Vérification du domaine email
  • • Création automatique du profil
  • • Attribution d'équipe par défaut
  • • Permissions selon les groupes AD
  • • Email de bienvenue personnalisé

Mapping des rôles

# Configuration AuthContext.tsx
const roleMapping = {
"Lumyria-Admins": "admin",
"Analytics-Team": "editor",
"All-Users": "viewer"
}

Gestion des sessions

Sécurité

  • • Expiration automatique
  • • Invalidation à la déconnexion
  • • Protection CSRF
  • • Détection sessions multiples

Refresh automatique

  • • Renouvellement transparent
  • • Gestion des erreurs réseau
  • • Retry automatique
  • • Fallback vers login

Configuration

  • • Durée de vie configurable
  • • Politique de refresh
  • • Environnements multiples
  • • Logs d'audit

Configuration des durées

# Configuration JWT dans backend/src/config/environment.ts
JWT_ACCESS_TOKEN_EXPIRY=15m // Token d'accès
JWT_REFRESH_TOKEN_EXPIRY=7d // Token de refresh
SESSION_TIMEOUT=30m // Timeout d'inactivité
MAX_CONCURRENT_SESSIONS=3 // Sessions simultanées

Validation et tests

Checklist de validation

  • ✓ Login SSO fonctionnel
  • ✓ Refresh token automatique
  • ✓ Logout et invalidation
  • ✓ Onboarding nouveaux utilisateurs
  • ✓ Mapping des rôles et permissions
  • ✓ Multi-équipes et contexte switching

Tests d'intégration

# Endpoints de test disponibles
GET /api/auth/test # Test configuration SSO
GET /api/auth/user # Profile utilisateur actuel
POST /api/auth/refresh # Test refresh token
GET /api/auth/permissions # Permissions utilisateur
GET /api/health # Santé générale API

Résolution de problèmes

Problèmes courants

❌ Redirection SSO échoue

  • • Vérifier les URLs de redirection dans Azure/Google
  • • Contrôler les variables CORS_ORIGIN
  • • Valider les certificats SSL en production

❌ Token refresh en erreur

  • • Vérifier JWT_REFRESH_SECRET
  • • Contrôler la synchronisation des horloges serveur
  • • Vérifier la base de données des sessions

❌ Permissions incorrectes

  • • Valider le mapping des rôles AD/Google
  • • Contrôler les permissions Graph API
  • • Vérifier l'appartenance aux groupes

Guides pratiques