Appearance
Message prêt à envoyer au CTO — intégration SSO
Version courte (5 questions) à copier-coller. Détail technique : voir
sso-contract.md.
Objet : Intégration SSO — console centrale → Rapport
Salut,
Pour câbler le login SSO dans Rapport (et ensuite gérer les droits fins de notre côté), j'ai besoin de préciser le contrat avec la console centrale. 5 points :
Protocole — On part sur quoi ? OIDC/OAuth2 (Authorization Code + PKCE), un JWT signé remis directement, ou un cookie de session partagé ?
Contenu du jeton — Qu'est-ce que Rapport reçoit au login, au-delà de l'identité (
userId, email) ? Est-ce que le jeton porte aussi l'entreprise, le rôle (admin/user), les établissements autorisés, les modules de l'abonnement et le siège/licence ? (C'est LA question clé : si rôle + établissements + modules sont déjà dans le jeton, je ne les stocke pas côté Rapport ; sinon il faut que je les synchronise.)Validation — Comment Rapport vérifie le jeton ? Clé publique (JWKS), secret partagé (HMAC), ou endpoint d'introspection ? Durée de vie + mécanisme de refresh ?
Flux — URL de login (redirection vers la console), URL de callback attendue côté Rapport, déconnexion (logout central ?), et les origines à autoriser entre les deux.
Licences/sièges + provisioning — C'est la console qui bloque l'accès si pas de siège attribué, ou Rapport doit le vérifier ? Et comment Rapport liste les utilisateurs d'une entreprise pour leur attribuer des droits (appel API ? ils apparaissent après 1ʳᵉ connexion ?) ?
Dès que j'ai ça, je câble l'auth. En parallèle je prépare le modèle de droits propre à Rapport (restrictions par établissement / domaine / dossier).
Merci !
