Aller au contenu principal

RFC-002 --- Convergence vers un Authorization Platform Service

Statut

Draft

Auteur

Architecture DMV

ADR de référence

  • ADR-014 --- Bounded Contexts and Modular Monolith

Résumé

Centraliser les mécanismes d'autorisation de la plateforme tout en laissant chaque Bounded Context propriétaire de ses règles métier.

1. Problème

Aujourd'hui les contrôles d'accès sont dispersés :

  • politiques dupliquées ;
  • vérifications répétées ;
  • dépendances croisées ;
  • logique métier mélangée avec la sécurité.

Cette situation augmente le risque d'incohérences.

2. Contexte

Chaque Bounded Context connaît ses propres règles métier.

En revanche, les mécanismes techniques (permissions, rôles, vérification, résolution des droits) sont transverses.

Ils relèvent d'un Platform Service.

3. Objectifs

  • supprimer les duplications ;
  • séparer métier et mécanismes techniques ;
  • rendre les règles cohérentes sur toute la plateforme ;
  • préparer les futurs produits (MairieSuite, AssoSuite, Coach, etc.).

4. Hors périmètre

  • authentification ;
  • gestion des utilisateurs ;
  • interface Workspace ;
  • refonte UX.

5. Décision

Création d'un Authorization Platform Service.

Chaque contexte :

  • expose ses politiques ;
  • reste propriétaire des décisions métier.

Authorization :

  • applique ces politiques ;
  • résout les permissions ;
  • fournit une API commune.

Il ne décide jamais de la logique métier.

6. Alternatives étudiées

Autorisation propre à chaque module

Rejetée.

Elle conduit à la duplication et à des divergences.

Contexte Authorization complet

Rejeté.

L'autorisation n'est pas un métier mais une capacité technique.

7. Impact

Les contrôles deviennent homogènes.

Les nouveaux produits réutilisent immédiatement les mêmes mécanismes.

8. Plan de migration

Étape 1

Inventorier toutes les politiques existantes.

Étape 2

Créer le Platform Service.

Étape 3

Migrer progressivement les appels.

Étape 4

Supprimer les implémentations dupliquées.

9. Rollback

Chaque migration est indépendante.

Le retour consiste à réactiver les contrôles précédents pour le module concerné.

10. Critères de succès

  • une seule implémentation des mécanismes d'autorisation ;
  • aucune duplication des contrôles techniques ;
  • les règles métier restent dans leur Bounded Context ;
  • aucun impact fonctionnel pour les utilisateurs.

11. Risques

  • oublier des contrôles existants ;
  • déplacer accidentellement une règle métier dans le Platform Service.

12. Questions ouvertes

  • Modèle exact des permissions.
  • Convention de nommage.
  • Cache éventuel des permissions.

Historique

Date Auteur Modification


2026-07 Architecture DMV Création